class Solution {
public int threeSumClosest(int[] nums, int target) {
Arrays.sort(nums);
int len = nums.length;
int result = nums[0] + nums[1] + nums[2];
for(int i = 0; i < len - 2; i++){
int left = i + 1, right = len - 1;
while(left < right){
int sum = nums[i] + nums[left] + nums[right];
if(Math.abs(sum - target) < Math.abs(result - target)) result = sum;
if(sum > target) --right;
else if(sum < target) ++left;
else return target;
}
}
return result;
}
}
16.最接近的三数之和。一秒看懂
最新推荐文章于 2024-07-25 21:13:04 发布