LeetCode之3Sum
来源:互联网 发布:adobe mac破解版 编辑:程序博客网 时间:2024/04/30 03:10
/*先对数组进行排序。然后用左右夹逼的方法,不断搜索结果。不过要注意避开重复元素。方法参考自:https://github.com/soulmachine/leetcode*/class Solution {public:vector<vector<int> > threeSum(vector<int> &num) {vector<vector<int> > result;if(num.size() < 3) return result;std::sort(num.begin(), num.end());for(int i = 0; i < num.size() - 2; ++i){if( i > 0 && num[i] == num[i-1]) continue;int j = i + 1, k = num.size() - 1;while(j < k){if(num[i] + num[j] + num[k] < 0){++j;while(num[j] == num[j-1] && j < k) ++j;}else if(num[i] + num[j] + num[k] > 0){--k;while(num[k] == num[k+1] && j < k) --k;}else{int tmp[3] = {num[i], num[j], num[k]};result.push_back(vector<int>(tmp, tmp + 3));++j;--k;while(num[j] == num[j-1] && num[k] == num[k+1] && j < k){++j;--k;}}}}return result;}};
0 0
- Leetcode之3Sum
- leetcode之3Sum
- LeetCode之3Sum
- leetcode之3Sum
- leetCode之3Sum
- leetcode之3Sum Closest
- LeetCode之3Sum Closest
- 【Leetcode】之3sum问题
- 【Leetcode】之3Sum Closest
- leetcode之3Sum Closest
- leetcode之 3Sum Closest
- LeetCode之15----3Sum
- Leetcode解题之3Sum
- leetcode之3Sum问题
- 【Leetcode】3Sum (Sum)
- LeetCode进阶之路(3Sum)
- LeetCode进阶之路(3Sum Closest)
- LeetCode之路——3Sum
- linux 限速工具
- 贪心算法之——阶乘之和(nyoj91)
- Qt Widget和Dialog区别和使用,QWidget一闪而过
- ipa包是否支持arm64方法
- “摇点”成O2O模式点餐任性一员,实现了线上点餐与线下用餐的一体化
- LeetCode之3Sum
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
- DJI SDK iOS 开发之一:前言
- Spring data mongoDB学习(1)
- C#中易混淆的知识点
- malloc() & free()函数区别
- 成功跳槽的五大资本
- OpenGL的VC开发的例子
- #ifndefine NAME_H_