//第一个数枚举,第二第三个数分别从第一个数的后面和最后夹逼
class Solution {
public:int threeSumClosest(vector<int> &num, int target) {
sort(num.begin(),num.end());
int min=INT_MAX;
int res;
for(int i=0;i<num.size()-2;i++)
{
int l=i+1;
int r=num.size()-1;
while(l<r)
{
int t = num[i]+num[l]+num[r];
int gap = abs(target-t);
if(gap==0)
return t;
else if(gap<min)
{
min = gap;
res = t;
}
if(target<t)
r--;
else if(target>t)
l++;
}
}
return res;
}
};