[説明]
3のためのアルゴリズムと数がゼロであることを疑問に、とき、実際には、X = 0でこの問題にアプローチで一定です。
そして、質問があるという上記のアプローチを適用します。
近づいたとき、単独の差の最小値をとります。
[コード]
class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
sort(nums.begin(),nums.end());
int len = nums.size();
int anssum = nums[0]+nums[1]+nums[2];
for (int i = 0;i < len;i++){
int l = i+1,r = len-1;
while (l<r){
int sum = nums[i]+nums[l]+nums[r];
if (abs(target-sum)<abs(target-anssum)) anssum = sum;
if (sum>target){
r--;
}else if (sum<target){
l++;
}else return sum;
}
}
return anssum;
}
};