3sum 3个数的和(重)
来源:互联网 发布:windows日志怎么看sql 编辑:程序博客网 时间:2024/06/05 18:23
题目:
点击打开链接
解答:
参考:
http://tech-wonderland.net/blog/summary-of-ksum-problems.html
http://blog.csdn.net/v_july_v/article/details/6419466
http://www.cnblogs.com/TenosDoIt/p/3649607.html
代码:
class Solution { public: vector<vector<int> > threeSum(vector<int> &num) { vector<vector<int> > res; sort(num.begin(), num.end()); for(int i = 0; i < num.size(); i++) {if (i > 0 && num[i] == num[i - 1])continue;int j = 0;int k = num.size() - 1;while (j < k){if (j == i){++j;continue;}if (k == i){--k;continue;}if (num[j] + num[k] == -num[i]){vector<int> temp;if (i < j){temp.push_back(num[i]);temp.push_back(num[j]);temp.push_back(num[k]);}else if (i < k){temp.push_back(num[j]);temp.push_back(num[i]);temp.push_back(num[k]);}else{temp.push_back(num[j]);temp.push_back(num[k]);temp.push_back(num[i]);}if (find(res.begin(), res.end(), temp) == res.end())res.push_back(temp);++j;--k;}else if (num[j] + num[k] < -num[i])++j;else--k;} }return res; }};
0 0
- 3sum 3个数的和(重)
- LeetCode 15 3Sum(3个数的和)
- LeetCode 16 3Sum Closest(最接近的3个数的和)
- LeetCode 18 4Sum(4个数的和)
- LeetCodet题解--18. 4Sum(4个数的和)
- 3sum和4sum(从数组中选3/4个数,使其和为目标值)
- 3Sum Closest 找3个数使得和最接近的target @LeetCode
- 3Sum 3个数的和为0 遍历+左右循环
- LeetCode 15 3Sum 找出数组里面3个数的和等于指定值。
- 算法总结(3)--k-Sum求和,找到和为定值的多个数
- (hdu step 4.3.3)Sum It Up(从n个数中选出m个数让他们的和达到指定和targetSum,输出所有的合法序列)
- 3Sum Closest(重重重)
- 15. 3Sum(求数组中和为0的3个数)
- Path Sum II --路径和(重)
- [LeetCode] Combination Sum 和确定的组合数的个数
- 寻找和为Sum的多个数-1
- 寻找和为Sum的多个数-2
- leetcode_454. 4Sum II-4个数的和
- 为文档扫描仪提供出色的PDF和OCR转换工具ABBYY
- 创建cocos2dx项目时,加载已有游戏时不能真机测试的问题
- ACM整理(二)——1432叠筐
- VB.net中的窗体继承
- Cocos2d-x 3.0 开发(十六)cocos2dx-3.0beta版建立新项目并加载CocoStudio导出文件
- 3sum 3个数的和(重)
- 嵌入式 Linux环境进程间通信(五): 共享内存(上)
- object-c基础知识(不断更新)
- android中的WIFI开发
- 门面模式
- jquery验证规则
- 嵌入式 Linux消息队列之命令行相关
- 操作系统,C++,计算机网络,各种大杂烩
- Cocos2d-x 3.0 开发(十五)使用UILayout布局,制作对话界面