class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
int mindiff = 1e7;
int ans,temp;
int n = nums.size();
sort(nums.begin(),nums.end());//对nums进行排序
for(int i = 0; i< n; i++){
for(int j = i+1,k = n-1;j < k;){
temp = nums[i] + nums[j] + nums[k];
if(abs(temp - target) < mindiff){
mindiff = abs(temp - target);//更新最小差
ans = temp;//更新三数之和
}
if(temp > target){
k--;
}else if(temp < target){
j++;
}else{
return ans;
}
}
}
return ans;
}
};
16. 最接近的三数之和(c++)
最新推荐文章于 2022-11-19 16:20:01 发布