我想實現有效的K互補陣列匹配對與O(NlogN)匹配的整數陣列。下面是我的代碼,它不工作。有誰能幫我解決這個問題嗎?我曾經嘗試過,但無法通過自己理清將K互補陣列對的效率提高到O(NlogN)
public static StringBuffer newFunction(int arr[], int k) {
Arrays.sort(arr);
int result = 0;
StringBuffer sb = new StringBuffer();
int j = arr.length - 1;
int i = 0;
while (i <= j) {
if (arr[i] + arr[j] == k) {
sb.append("{" + arr[i] + "," + arr[j] + "}" + ", ");
result++;
} else if ((arr[i] + arr[j]) < k) {
i++;
} else {
j--;
}
}
System.out.println(result);
return sb;
}
你想怎麼處理相同的對?應該'newFunction(new int [] {1,1,2,2,2},3)'print'1'還是'6'? – Anton