LeetCode-3Sum Closest
阿新 • • 發佈:2019-02-07
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 ; } };