LeetCode #16 最接近的三数之和
2020-02-09 本文已影响0人
HU兔兔
class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
sort(nums.begin(),nums.end());
int n,i,j,gap,sum,min,ans;
gap=2147483647;
n=0;
while(n<nums.size()-2){
i=n+1;
j=nums.size()-1;
while(i<j){
sum=nums[n]+nums[i]+nums[j];
if(abs(target-sum)<gap){
gap=abs(target-sum);
ans=sum;
}
sum<target?i++:j--;
}
n++;
if(gap==0){
break;
}
}
return ans;
}
};
![](https://img.haomeiwen.com/i8016535/846315ceb43b1cd8.png)