[LeetCode]3Sum Closest
2017-06-30 07:58
399 查看
Description:
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.
Code:
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.
For example, given array S = {-1 2 1 -4}, and target = 1. The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).
Code:
if(nums.length == 3){ return nums[0]+nums[1]+nums[2]; } Arrays.sort(nums); int result = 0; int close = 0; int i = 0; while(i<nums.length-2){ int j = i+1; int k = nums.length -1; while(j<k){ int sum = nums[i]+nums[j]+nums[k]; if(close == 0){ close = Math.abs(target-sum); } if(sum == target)return target; if(sum<target){ int temp = sum - target; if(Math.abs(temp)<=close){ close = Math.abs(temp); result = sum; } while(nums[j]==nums[++j]&&j<k); } if(sum>target){ int temp = sum - target; if(temp<=close){ close = temp; result = sum; } while(nums[k--]==nums[k]&&j<k); } } while(nums[i]==nums[++i]&&i<nums.length-2); } return result;
相关文章推荐
- LeetCode:3Sum Closest
- leetcode 3sum closest
- LeetCode 16 3Sum Closest
- [leetcode]16. 3Sum Closest
- [LeetCode] 3Sum Closest
- LeetCode 16. 3Sum Closest
- [Leetcode]3Sum Closest
- LeetCode - 3Sum Closest
- Leetcode -- 3Sum Closest
- [LeetCode]3Sum Closest
- 【Leetcode】【Medium】3Sum Closest
- LeetCode 3Sum Closest
- LeetCode(16)3Sum Closest
- leetcode: 3SumClosest
- leetcode-3sum closest
- Leetcode 16. 3Sum Closest
- leetcode 16. 3Sum Closest
- 016_LeetCode_16 3Sum Closest
- LeetCode之16_3Sum Closest
- [LeetCode16]3Sum Closest