之和(medium)"/>
[双指针]leetcode16:最接近的三数之和(medium)
题目:
题解:
- 双指针
- 与15.三数之和方法类似,简单来说会了三数之和,那么这题也就会了。
代码如下:
class Solution {
public:int threeSumClosest(vector<int>& nums, int target) {if(nums.size()<3)return -1;sort(nums.begin(),nums.end());int result=nums[0]+nums[1]+nums[2];int size=nums.size();for(int k=0;k<size-2;++k){int i=k+1,j=size-1;while(i<j){int sum=nums[k]+nums[i]+nums[j];if(abs(sum-target)<abs(result-target))//sum与target的距离更小,更新resultresult=sum;//移动双指针i,jif(sum<target)i++;else if(sum>target)j--;else return result;}}return result;}
};
更多推荐
[双指针]leetcode16:最接近的三数之和(medium)
发布评论