class Solution {
public:
int threeSumClosest(vector<int>& nums, int target)
{
sort(nums.begin(),nums.end());
int c=INT_MAX;
int result=0;
int i;
for(i=0;i<nums.size();i++)
{
if(i>0 && nums[i]==nums[i-1])
continue;
int l=i+1,r=nums.size()-1;
while(l<r)
{
int sum=nums[i]+nums[l]+nums[r];
int k=sum-target;
if(abs(k)<c)
{
c=abs(k);
result=sum;
}
if(k>0)
r--;
else if(k<0)
l++;
else
return target;
}
}
return result;
}
};
C++16. 最接近的三数之和(亲测,最易理解)
最新推荐文章于 2024-06-05 20:34:10 发布