leetcode -- 3Sum Closest
2013-07-03 17:34
323 查看
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).
public int threeSumClosest(int[] num, int target) { // Start typing your Java solution below // DO NOT write main() function Arrays.sort(num); int result = 0; int lastAbs = 65536; int len = num.length; for (int i = 0; i < len; i++) { int start = i + 1; int end = len - 1; while (start < end) { if (num[i] + num[start] + num[end] == target) { lastAbs = 0; result = target; start++; end--; return result; } if (num[i] + num[start] + num[end] > target) { if (Math.abs(num[i] + num[start] + num[end] - target) < lastAbs) { lastAbs = Math.abs(num[i] + num[start] + num[end] - target); result = num[i] + num[start] + num[end]; } end--; } if (num[i] + num[start] + num[end] < target) { if (Math.abs(num[i] + num[start] + num[end] - target) < lastAbs) { lastAbs = Math.abs(num[i] + num[start] + num[end] - target); result = num[i] + num[start] + num[end]; } start++; } } } return result; }
相关文章推荐
- LeetCode 3Sum Closest
- [Leetcode]3Sum Closest
- LeetCode题解——3Sum Closest
- leetcode - 3Sum Closest
- LeetCode(16) 3Sum Closest
- 2017-09-09 LeetCode_016 3Sum Closest
- leetcode[16]3Sum Closest
- [LeetCode] 16. 3Sum Closest
- LeetCode:3Sum Closest
- LeetCode Online Judge 题目C# 练习 - 3SUM Closest
- 【小熊刷题】3Sum Closest <Leetcode 16, Java>
- leetcode ----16. 3Sum Closest
- 【JAVA、C++】LeetCode 016 3Sum Closest
- leetcode-java-16. 3Sum Closest
- Leetcode 16. 3Sum Closest
- LeetCode 3Sum Closest
- [Leetcode 16, Medium] 3Sum Closest
- Leetcode 16[medium]--3Sum Closest
- Leetcode习题记录——3Sum Closest
- 【Leetcode】3Sum Closest