3sum
来源:互联网 发布:郑州淘宝城都有什么 编辑:程序博客网 时间:2024/05/21 09:01
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:
•Elements in a triplet (a,b,c) must be in non-descending order. (ie, a ≤ b ≤ c)
•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) { sort(nums.begin(),nums.end()); vector<vector<int>> ret; for(int i = 0;i < nums.size();i++) { int start = i+1; int end = nums.size()-1; if(i>0&&nums[i]==nums[i-1])//关键点1:去除已经重复的点 continue; while(start<end)//转化为2sum问题 { while(start>i+1&&nums[start]==nums[start-1])//关键点2:排除重复的部分 { start++; } while(end<nums.size()-1&&nums[end]==nums[end+1]) { end--; } int sum = nums[start]+nums[i]+nums[end]; if(start<end) { if(sum == 0) { vector<int> temp; temp.push_back(nums[i]); temp.push_back(nums[start]); temp.push_back(nums[end]); ret.push_back(temp); start++; }else if(sum>0) { end--; }else{ start++; } } } } return ret; }};
0 0
- Two Sum && 3 Sum
- 【Leetcode】3Sum (Sum)
- 3Sum 3Sum Closest 4Sum
- 3Sum & 3Sum Closest & 4Sum
- 3sum、3Sum closet、 4sum
- 3Sum, 3Sum Closest, 4 Sum
- leetcode 2 sum 3sum 4sum
- 2Sum 3Sum 4Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 3Sum
- 3SUM
- 3-sum
- 3Sum
- 3Sum
- 3Sum
- 3Sum
- Ubuntu命令行安装JDK & Tomcat (
- $ROOT/comm/amms/ammsps/com/rules.mk
- poj 3241 Object Clustering 曼哈顿最小生成树
- Byte转KB/MB/GB
- MongoDB官方文档翻译系列之 -- 执行二阶段提交
- 3sum
- Hibernate知识点总结
- 安卓5.1关机添加确认弹窗
- 对WEB标准以及W3C的理解与认识
- JavaScript中,字符串和二进制互转
- 日经社説 20150629 食品の地理的表示をいかせ
- 如何在android的jni线程中实现回调
- java通过JDBC链接SQLServer2012
- java中的IO操作总结