[LeetCode] 3Sum
来源:互联网 发布:视频录播软件 编辑:程序博客网 时间:2024/06/07 21:57
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; if (num.empty()) return ret; sort(num.begin(), num.end()); for (int i = 0; i < num.size(); i++) { if (i && num[i] == num[i - 1]) continue; int a = num[i]; int j = i + 1; int k = num.size() - 1; while (j < k) { int b = num[j]; int c = num[k]; if (a + b + c == 0) { vector<int> sln; sln.push_back(a); sln.push_back(b); sln.push_back(c); ret.push_back(sln); for (j++; j < k && num[j] == num[j - 1]; j++); for (k--; j < k && num[k] == num[k + 1]; k--); } else if (a + b + c < 0) { for (j++; j < k && num[j] == num[j - 1]; j++); } else { for (k--; j < k && num[k] == num[k + 1]; k--); } } } return ret; }};
Small Case: 8ms
Large Case: 288ms
Time: O(n^2)
Space: O(n)
- 【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
- [Android]为Spinner填充数据后设置默认值的问题
- oracle 11g的audit导致system表空间快速增长的问题
- 11g R2 RAC客户端负载均衡配置
- 谷歌浏览器打不开12306
- ubuntu 中软件重新安装卸载等操作
- [LeetCode] 3Sum
- UILabel 根据文字长度自动调整
- php逻辑操作符中&和&&的异同
- 动态规划解题法
- 喝水老呛的原因及。。。
- linux-0.11调试教程,mkfs.c源代码分析(3)
- JS作用域链(转载)
- building bootloader and kernel for pandaboard
- [LeetCode] 3Sum Closest