LeetCode 3Sum
来源:互联网 发布:淘宝网春秋女装 编辑:程序博客网 时间:2024/06/05 15:29
3Sum
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> &num) { vector<vector<int> > r; int i, j, n = num.size(); bool flag = true; sort(num.begin(),num.end()); for(int k = 0; k <= n - 3; k++) { if(num[k] == num[k+1] && num[k+1] == num[k+2]) { if(num[k] == 0 && flag) { vector<int> a(3,0); r.push_back(a); flag = false; } else continue; } else if(num[k] == num[k+1]) { for(i = k + 2; i <= n - 1; i++) { if(num[i]+num[k]+num[k+1]==0) { vector<int> a(3,0); a[0] = num[k]; a[1] = num[k+1]; a[2] = num[i]; r.push_back(a); break; } } } else { i = k + 1; j = n - 1; while(i < j) { if(num[i]+num[j]+num[k]==0) { vector<int> a(3,0); a[0] = num[k]; a[1] = num[i]; a[2] = num[j]; r.push_back(a); while(num[i] == num[i+1]) { i++; } i++; }else if(num[i]+num[j]+num[k]<0) i++; else j--; } } } return r; }};
思路:与 3Sum Closest 思路相似。但为避免出现重复答案,做了大量工作。
0 0
- 【Leetcode】3Sum (Sum)
- Leetcode:2Sum,3Sum
- 【Leetcode】3Sum Closest (Sum)
- leetcode 2 sum 3sum 4sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- [LeetCode] 2Sum, 3Sum, 4Sum, 3SUm closet
- [LeetCode] K sum(2Sum、3Sum、4Sum)
- leetcode--sum集合:2sum,3sum,4sum
- leetcode --- 2 sum , 3 sum , 4 sum , k sum problem
- LeetCode: 3Sum
- LeetCode: 3 Sum Closest
- leetcode - 3 Sum
- leetcode - 3 sum closest
- leetcode 3Sum
- leetcode 3Sum Closest
- LeetCode: 3Sum
- linux 僵尸(defunct)进程和孤儿进程
- 编写可读代码的艺术
- C# WinForm判断Win7下程序是否以管理员身份运行
- 下载新浪android SDK
- 初学三层
- LeetCode 3Sum
- bzoj1030: [JSOI2007]文本生成器 AC自动机+dp
- 同步 IO和异步IO,阻塞 IO和非阻塞的区别
- android自定义GifView显示gif动画
- Excel编程基础操作汇总
- Hibernate 的<generator class="native"></generator>的不同属性含义
- NYOJ表达式求值
- Swift游戏开发之俄罗斯方块:No.8 游戏规则
- 使用新浪微博sdk开发