[LeetCode] 15. 3Sum
2017-06-23 17:06
393 查看
Given an array S of n integers,
are there elements a, b, c in S such
that a + b + c =
0? Find all unique triplets in the array which gives the sum of zero.
Note: The solution set must not contain duplicate triplets.
are there elements a, b, c in S such
that a + b + c =
0? Find all unique triplets in the array which gives the sum of zero.
Note: The solution set must not contain duplicate triplets.
For example, given array S = [-1, 0, 1, 2, -1, -4], A solution set is: [ [-1, 0, 1], [-1, -1, 2] ]
vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> res; sort(nums.begin(), nums.end()); for (int k = 0; k < nums.size(); k++) { int rest = -nums[k]; for (int i = k + 1, j = nums.size() - 1; i < j; ) { int sum = nums[i] + nums[j]; if (sum == rest) { res.push_back({nums[k], nums[i], nums[j]}); for (int dup = nums[i]; i < j && nums[i] == dup; i++); for (int dup = nums[j]; i < j && nums[j] == dup; j--); } else if (sum < rest) i++; else j--; } for (int dup = nums[k]; k + 1 < nums.size() && nums[k + 1] == dup; k++); } return res; }
相关文章推荐
- LeetCode 15 - 3Sum
- leetcode: 15. 3Sum
- [LeetCode] 15 3Sum
- (LeetCode 15) 3Sum
- leetcode-15-3sum
- leetcode15---3Sum
- [leetcode-15]3Sum(java)
- LeetCode 15 3Sum
- LeetCode15 3sum
- leetcode 15 3sum问题
- LeetCode(15)题解--3Sum
- LeetCode 15 - 3Sum
- Sum—LeetCode-15 3Sum
- LeetCode 15---3Sum
- leetcode question 15 : 3Sum
- leetcode15 3Sum
- [Leetcode]-15 3Sum
- [leetcode 15] 3Sum
- [Leetcode] 15. 3Sum
- LeetCode 15 -- 3Sum