leetcode 3Sum Closest
2016-09-02 19:35
381 查看
和之前的3Sum一样,只是等于0换成了求最小差距, 加个cha即可,记得是绝对值!
int threeSumClosest(vector<int>& nums, int target)
{
int i,n,ans,left,right,num1,num2,num3,sum,cha;
n=nums.size();
sort(nums.begin(),nums.end());
ans=99999999;
for(i=0;i<n;i++)
{
num1=nums[i];
left=i+1;
right=n-1;
while(left<right)
{
num2=nums[left];
num3=nums[right];
sum=num1+num2+num3;
if(sum-target>0)
right--;
else if(sum-target<0)
left++;
else if(sum-target==0)
return sum;
cha=sum-target;
if(abs(cha)<abs(ans))
ans=cha;
}
}
return ans+target;
}
int threeSumClosest(vector<int>& nums, int target)
{
int i,n,ans,left,right,num1,num2,num3,sum,cha;
n=nums.size();
sort(nums.begin(),nums.end());
ans=99999999;
for(i=0;i<n;i++)
{
num1=nums[i];
left=i+1;
right=n-1;
while(left<right)
{
num2=nums[left];
num3=nums[right];
sum=num1+num2+num3;
if(sum-target>0)
right--;
else if(sum-target<0)
left++;
else if(sum-target==0)
return sum;
cha=sum-target;
if(abs(cha)<abs(ans))
ans=cha;
}
}
return ans+target;
}
相关文章推荐
- leetcode note--leetcode 16 3Sum Closest
- 【LeetCode】3Sum Closest
- Leetcode习题记录——3Sum Closest
- LeetCode(16)--3Sum Closest
- leetcode (16) - 3Sum Closest
- LeetCode:3Sum Closest
- Leetcode 刷题: 3Sum Closest
- leetcode 3Sum Closest
- Java [leetcode 16] 3Sum Closest
- Leetcode 16 - 3Sum Closest
- LeetCode : 3Sum Closest
- [LeetCode][Java] 3Sum Closest
- leetcode 57: 3Sum Closest
- 【LeetCode】3Sum Closest
- leetcode-16 3Sum Closest
- leetcode解题报告16. 3Sum Closest
- [LeetCode16]3Sum Closest
- [Leetcode] 16 - 3Sum Closest
- [LeetCode]—3Sum Closest 求数组中三个数之和最接近给定target的组合
- [leetcode] 3Sum Closest