給定一個數組和一個目標數,選出來數組中三個元素相加最接近目標數的的元素,並返回三個元素的和。
public static int threeSumClosest(int[] nums, int target) {
Arrays.sort(nums);
int result = nums[0]+nums[1]+nums[nums.length-1];
for (int i = 0; i < nums.length-2; i++) {
for (int j = i + 1, k = nums.length - 1; j < k;) {
int sum = nums[i] + nums[j] + nums[k];
if(sum>target){
k--;
}else{
j++;
}
if (Math.abs(sum - target) < Math.abs(result - target)) {
result = sum;
}
}
}
return result;
}
歡迎加入java交流羣691761026