int threeSumClosest(vector<int> &nums,int &target)
{
int result;
int gap = INT_MAX;
int len = nums.size();
if (len <= 2) return gap;
sort(nums.begin(),nums.end());
for (int i = 0; i < len - 2; i++)
{
int j = i + 1;
int k = len - 1;
while (j < k) {
int sum = nums[i] + nums[j] + nums[k];
int abs_sub = abs(sum - target);
if (abs_sub <= gap) {
gap = abs_sub;
result = sum;
}
if (sum > target) --k;
else ++j;
}
}
return result;
}
是一只纯小白。暂时想到一种方法, 内存使用挺小的,速度不够快。接下来会继续的更新这道题的方法。有新的方法可以互相交流,欢迎留言