class Solution {
private:
int temp=99999;
public:
void combination(vector<int> &v, int k, vector<int> &num, int begin, int index, int target) {
if(k==0) {
int sum=v[0]+v[1]+v[2];
if(abs(temp-target)>abs(sum-target)) {
temp=sum;
}
return;
}
for(int i=begin;i<num.size();i++) {
v[index]=num[i];
combination(v,k-1,num,i+1,index+1,target);
}
}
int threeSumClosest(vector<int>& nums, int target) {
vector<int> v(3,0);
combination(v,3,nums,0,0,target);
return temp;
}
};
3Sum Closest(C++最接近的三数之和)
最新推荐文章于 2024-07-24 22:51:50 发布