您的位置:首页 > 其它

[Leetcode]3Sum Closest

2014-10-08 10:40 351 查看
//第一个数枚举,第二第三个数分别从第一个数的后面和最后夹逼

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;

}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: