LeetCode 3Sum
来源:互联网 发布:机械制图用什么软件 编辑:程序博客网 时间:2024/04/26 17:38
http://www.leetcode.com/onlinejudge
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)
O(n^2) solution:
Reference: http://en.wikipedia.org/wiki/3SUM
Solution:
class Solution {public: vector<vector<int> > threeSum(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function sort(num.begin(),num.end()); vector<vector<int> > result; vector<int> r(3,0); for(int i=0;i<num.size();++i){ if(num[i]>0) break; if(!result.empty()&&result.back()[0]==num[i]) continue; int j=i+1,k=num.size()-1; while(j<k){ if(num[i]+num[j]+num[k]==0){ if(result.empty()||result.back()[0]!=num[i]||result.back()[1]!=num[j]){ r[0]=num[i]; r[1]=num[j]; r[2]=num[k]; result.push_back(r); } ++j; --k; }else if(num[i]+num[j]+num[k]>0){ --k; }else{ ++j; } } } return result; }};
- 【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
- POJ 2996 Help Me with the Game
- 【自绘Button之一】带Icon的按钮控件
- 互联网协议入门
- makefile: 规则、函数、符号说明
- Android 布局相关
- LeetCode 3Sum
- javascript基础教程
- 捉蒋敢死队揭秘:1949年蒋介石惊险逃离大陆
- ubuntu中的VI编辑器按i进入文本编辑模式,按上下左右键显示ABCD字母
- eclipse修改默认工作空间
- UVa 291 - The House Of Santa Claus
- Ubuntu U盘挂载
- usaco McNuggets
- [Java-原创] bit、byte、位、字节、汉字、字符