class Solution {
public:
int threeSumClosest(vector<int> &num, int target)
{
int result=0;
int Min=INT_MAX;
sort(num.begin(), num.end());
vector<int>::iterator iter=num.begin();
for(;iter!=num.end();++iter)
{
auto iter2=next(iter);
auto iter3=prev(num.end());
while(iter2<iter3)
{
const int sum=*iter + *iter2 + *iter3;
const int gap=abs(sum-target);
if(gap<Min)
{
result = sum;
Min=gap;
}
if(sum<target) ++iter2;
else --iter3;
}
}
return result ;
}
};
LeetCode-3Sum Closest
最新推荐文章于 2024-04-29 23:48:08 发布