[leetcode 16] 3Sum Closest
2015-01-01 09:26
309 查看
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.
思路:同3Sum, 排序之后,夹逼
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).
思路:同3Sum, 排序之后,夹逼
class Solution { public: int threeSumClosest(vector<int> &num, int target) { int res; if (num.size() < 3) { return res; } int min_gap = INT_MAX; //记录最小的差值 sort(num.begin(), num.end()); auto last = num.end(); for (auto i = num.begin(); i < last - 2; i++) { auto j = i + 1; auto k = last - 1; while (j < k) { int sum = *i + *j + *k; int gap = abs(sum - target); if (gap < min_gap) { res = sum; min_gap = gap; } if (sum > target) { k--; } else { j++; } } } return res; } };
相关文章推荐
- Leetcode 16 3Sum Closest
- Leetcode: 16. 3Sum Closest(Week5, Medium)
- LeetCode(16)3Sum Closest
- [leetcode] 16. 3Sum Closest 解题报告
- leetcode(16) 3Sum Closest解题报告
- leetcode16 3Sum Closest(java实现)
- 【LeetCode】16_3Sum Closest
- leetcode-16-3sum closest
- LeetCode 16 3Sum Closest
- LeetCode 16 - 3Sum Closest
- LeetCode - 16. 3Sum Closest
- LeetCode 16 - 3Sum Closest
- LeetCode | 16. 3Sum Closest
- LeetCode 16 3Sum Closest(最接近的3个数的和)
- [leetcode] 16. 3Sum Closest
- [leetcode] 16 3Sum Closest(数组)
- 3Sum Closest - LeetCode 16
- [LeetCode] 16. 3Sum Closest 最接近的三数之和 @python
- 3Sum Closest (leetcode 16)
- LeetCode 16 3Sum Closest(C,C++,Java,Python)