class Solution {
public:
int threeSumClosest(vector<int>& nums, int target)
{
int retmin = INT_MAX;
int ret;
sort(nums.begin(),nums.end());
for(int i=0;i<nums.size();i++)
{
int left = i+1;
int right = nums.size()-1;
while(left<right)
{
if(nums[i]+nums[left]+nums[right] >target)
{
if(retmin>abs(nums[i]+nums[left]+nums[right]-target))
{
retmin = abs(nums[i]+nums[left]+nums[right]-target);
ret = nums[i]+nums[left]+nums[right];
}
right--;
}
else
{
if(retmin>abs(nums[i]+nums[left]+nums[right]-target))
{
retmin = abs(nums[i]+nums[left]+nums[right]-target);
ret = nums[i]+nums[left]+nums[right];
}
left++;
}
}
}
return ret;
}
};
leetcode:最接近的三数之和
最新推荐文章于 2024-10-05 12:29:44 发布