【leetcode】3Sum
来源:互联网 发布:docker网络模式 编辑:程序博客网 时间:2024/05/16 10:58
Question:
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) { // Start typing your C/C++ solution below // DO NOT write int main() function vector< vector<int> > ret; int len = num.size(); if(len < 3) return ret; vector<int> num2; num2.assign(num.begin(), num.end()); sort( num2.begin(), num2.end() ); // sort O(n*log(n)) vector<int> tmpRet(3); tmpRet[0] = num2[0] - 1; for(int i = 0; i < len - 2; i++){ // O(n*m) int l = i + 1; int r = len - 1; if(num2[i] == tmpRet[0]) continue; tmpRet[0] = num2[i]; while(l < r) { int sum2 = num2[l] + num2[r]; if(num2[i] + sum2 == 0){ tmpRet[1] = num2[l]; tmpRet[2] = num2[r]; ret.push_back(tmpRet); while(num2[++l] == num2[l-1] && l < r); // remove same number while(num2[--r] == num2[r+1] && l < r); } else if(num2[i] + sum2 < 0){ l++; } else { r--; } } } return ret; }};
- 【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
- C程序设计课程 第六堂课后作业
- Version.rc
- Linux shell脚本的字符串截取
- 应用中弹出 WiFi 提示框的方法
- UVA 1419 - Ugly Windows
- 【leetcode】3Sum
- 2013 c++第六周任务-项目二(b)
- request.getAttribute与request.getParameter的区别
- (转)列出Android设备中所有启动的服务,及判断某个服务是否开启!
- Wireshark使用方法(学习笔记一)
- 机房收费系统.Net个人版总结
- keep going!!! CF 283D Cows and Cool Sequences
- 【程序30】一个5位数,判断它是不是回文数
- jQuery selector