class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
sort(nums.begin(),nums.end());
int ans=nums[0]+nums[1]+nums[2];
for(int i=0;i<nums.size();i++){
int l=i+1,r=nums.size()-1;
while(l<r){
int sum=nums[i]+nums[l]+nums[r];
if(abs(sum-target)<abs(target-ans)){
ans=sum;
}
if(sum>target) r--;
else if(sum<target) l++;
else return ans;
}
}
return ans;
}
};
Leetcode 16. 最接近的三数之和
最新推荐文章于 2025-07-29 19:45:28 发布