vector迭代器可以加减整数
next:下一个迭代器
prev:前一个迭代器
INT_MAX = 2^31-1,INT_MIN= -2^31:c++自带的,这个太棒了!!
class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
int min_gap=INT_MAX;
sort(nums.begin(),nums.end());
int res=0;
for(auto i=nums.begin();i<nums.end()-2;i++)
{
auto j=next(i),k=prev(nums.end());
while(j<k)
{
int sum=*i+*j+*k;
int gap=abs(target-sum);
if(gap<min_gap)res=sum,min_gap=gap;
if(sum<target)j++;
else k--;
}
}
return res;
}
};