[LeetCode] 16. 3Sum Closest
2018-02-07 11:37
337 查看
16. 3Sum Closest
转化思想头尾指针
题目
思路
转化思想将问题转化为求三数和为target的问题。
复杂性分析:
时间复杂度:O(n^2).
空间复杂度:O(1).
题解
class Solution { public: int threeSumClosest(vector<int>& nums, int target) { int ans = 0, dif = INT_MAX, len = nums.size(); sort(nums.begin(), nums.end()); for (int i = 0; i < len-2; i++) { if (i > 0 && nums[i] == nums[i-1]) continue; int begin = i+1, end = len-1; while (begin < end) { int sum = nums[i] + nums[begin] + nums[end]; if (sum == target) return target; else if (sum < target) begin++; else end--; int temp = abs(target - sum); if (temp < dif) { dif = temp; ans = sum; } } } return ans; } };
相关文章推荐
- [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
- Leetcode 16 - 3Sum Closest
- Leetcode--16. 3Sum Closest
- leetcode.array--16. 3Sum Closest
- LeetCode-16-3Sum-Closest 贪心
- leetcode ----16. 3Sum Closest
- LeetCode16 3Sum Closest
- leetcode-16 3Sum Closest
- Leetcode 16[medium]--3Sum Closest
- (LeetCode 16) 3Sum Closest
- leetcode-16-3Sum Closest
- leetcode note--leetcode 16 3Sum Closest
- Leetcode 16 3Sum Closest