16.最接近的三数之和
方法:排序+双指针
class Solution {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);int ans = nums[0] + nums[1] + nums[2];for(int i = 0;i<nums.length;i++){int start = i+1,end = nums.length - 1;while(start < end){int sum = nums[start] + nums[end] + nums[i];if(Math.abs(target - sum) < Math.abs(target - ans)){ans = sum;}if(sum > target){end--;}else if(sum < target){start++;}else{return ans;}}}return ans;}
}