LeetCode刷题(C++)——3Sum(Medium)
来源:互联网 发布:华西期货软件下载 编辑:程序博客网 时间:2024/05/23 14:32
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.
For example, given array S = [-1, 0, 1, 2, -1, -4],A solution set is:[ [-1, 0, 1], [-1, -1, 2]]
class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> result;if (nums.empty())return result;sort(nums.begin(), nums.end());for (int start = 0;start < nums.size();start++){int i = start + 1;int j = nums.size() - 1;while (i < j){if (nums[i] + nums[j] == -nums[start]){vector<int> temp;temp.push_back(nums[start]);temp.push_back(nums[i]);temp.push_back(nums[j]);result.push_back(temp);while (i + 1 < nums.size() && nums[i] == nums[i + 1])i++;while (j - 1 >= 0 && nums[j] == nums[j - 1])j--;i++;j--;}else if (nums[i] + nums[j] < -nums[start])i++;else j--;}while (start + 1 < nums.size() && nums[start] == nums[start + 1])start++;}return result; }};
0 0
- LeetCode刷题(C++)——3Sum(Medium)
- LeetCode刷题(C++)——4Sum(Medium)
- LeetCode刷题(C++)——3Sum Closest(Medium)
- LeetCode刷题(C++)——Path Sum II(Medium)
- LeetCode刷题(C++)——Minimum Path Sum(Medium)
- LeetCode刷题(C++)——ZigZag Conversion(Medium)
- LeetCode刷题(C++)——Generate Parentheses(Medium)
- LeetCode刷题(C++)——Next Permutation(Medium)
- LeetCode刷题(C++)——Sort Colors(Medium)
- LeetCode刷题(C++)——Rotate List(Medium)
- LeetCode刷题(C++)——Word Search(Medium)
- LeetCode刷题(C++)——Sort List(Medium)
- 3Sum (medium)
- 题解——Leetcode 16. 3Sum Closest 难度:Medium
- LeetCode-1-Two Sum(哈希)-Medium
- [LeetCode] 015. 3Sum (Medium) (C++/Java/Python)
- [LeetCode] 016. 3Sum Closest (Medium) (C++/Java/Python)
- [Leetcode 15, medium] 3 Sum
- Myeclipse中出现"A Java Exception has occurred"的弹出提示信息解决方案
- rtsp协议详解
- R3进程DLL注入HOOK
- Python leetcode #3 Longest Substring Without Repeating Characters
- CodeForces
- LeetCode刷题(C++)——3Sum(Medium)
- 第一篇:欢迎使用CSDN-markdown编辑器
- CentOS 6.x下离线安装apache2.4
- 第27课:彻底解密Spark Shuffle令人费解的6大经典问题(课程内容全球独家)
- Ubuntu下安装Nginx步骤
- Unicode编码模式下CString转char *
- activeMQ Failover broker url顺序
- Linux下的各种id
- Android开发中,在Logcat中一直不断地显示Tag为dalvikvm的log