给一个包含 n 个整数的数组 S, 找到和与给定整数 target 最接近的三元组,返回这三个数的和。
注意事项
只需要返回三元组之和,无需返回三元组本身
class Solution {
public:
/*
* @param numbers: Give an array numbers of n integer
* @param target: An integer
* @return: return the sum of the three integers, the sum closest target.
*/
int threeSumClosest(vector<int> &numbers, int target) {
// write your code here
if(numbers.size()==3){
return numbers[0]+numbers[1]+numbers[2];
}
int min=100000;
int sum;
for(int i=0;i<numbers.size();i++){
for(int j=i+1;j<numbers.size();j++){
for(int k=j+1;k<numbers.size();k++){
if(min>abs(numbers[i]+numbers[j]+numbers[k]-target)){
min=abs(numbers[i]+numbers[j]+numbers[k]-target);
sum=numbers[i]+numbers[j]+numbers[k];
}
}
}
}
return sum;
}
};