题目描述
思路分析
暴力枚举,更新答案。
代码实现
class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
int res=0;
int abssub=0x3f3f3f3f;
sort(nums.begin(),nums.end());
for(int i=0;i<nums.size();i++){
for(int j=i+1,k=nums.size()-1;j<k;j++){
if(abs(nums[i]+nums[j]+nums[k]-target)<abssub){
res=nums[i]+nums[j]+nums[k];
abssub=abs(nums[i]+nums[j]+nums[k]-target);
}
while(j<k&&nums[i]+nums[j]+nums[k]-target>=0){
k--;
if(j<k&&abs(nums[i]+nums[j]+nums[k]-target)<abssub){
res=nums[i]+nums[j]+nums[k];
abssub=abs(nums[i]+nums[j]+nums[k]-target);
}
}
}
}
return res;
}
};