class Solution {
public int threeSumClosest(int[] nums, int target) {
Arrays.sort(nums);
int res=100000;
for(int i=0;i<nums.length-2;i++)
{
int left=i+1,right=nums.length-1;
while(left<right)
{
int sum=target-nums[i]-nums[left]-nums[right];
if(Math.abs(sum)<Math.abs(res))
res=sum;
if(res==0)
return target;
if(sum>0)
{
left++;
}
if(sum<0)
{
right--;
}
}
}
return target-res;
}
}
和上面那个题目思路一致
双指针实际上不难