39. Combination Sum
来源:互联网 发布:win10下装mac双系统 编辑:程序博客网 时间:2024/06/05 15:44
1刷
暴力递归,一开始是想不出来的,以为是数据结构,听说dp也可以解, 昊哥提醒了才想出,其实应该挺容易 的,只是我死活觉得暴力会超时。。。。Acm的后患。。。
class Solution {public: void getit(int target, int sum, int num, vector<int>& cand, vector<int>& now, vector<vector<int>>& ll){ if(sum == target){ ll.push_back(now); return; } if(sum > target) return; for(int i = num; i < cand.size(); ++ i){ sum += cand[i]; now.push_back(cand[i]); getit(target, sum, i, cand, now, ll); now.pop_back(); sum -= cand[i]; } return; } vector<vector<int>> combinationSum(vector<int>& candidates, int target) { sort(candidates.begin(), candidates.end()); vector<vector<int>> last; vector<int> now; getit(target, 0, 0, candidates, now, last); return last; }};
2刷
是dfs,但是就是要怎样才能写好代码!!!!发现1刷的时候竟然写出来了,伤心!
3刷要看剪子!!!!
class Solution {public: vector<vector<int>>ve; void findit(vector<int>& cand, vector<int> & vec, int target, int begin){ if(target == 0){ ve.push_back(vec); return ; } for(int i = begin; i < cand.size() && target >= cand[i]; ++ i){ vec.push_back(cand[i]); findit(cand, vec, target - cand[i], i); vec.pop_back(); } } vector<vector<int>> combinationSum(vector<int>& candidates, int target) { sort(candidates.begin(), candidates.end()); vector<int>vec; findit(candidates, vec, target, 0); return ve; }};
0 0
- 39. Combination Sum && 40. Combination Sum II
- 39. Combination Sum &&40. Combination Sum II
- [LeetCode]39.Combination Sum
- LeetCode --- 39. Combination Sum
- LeetCode 39.Combination Sum
- [Leetcode] 39. Combination Sum
- 39. Combination Sum
- 39. Combination Sum
- Leetcode-39.Combination Sum
- LeetCode 39. Combination Sum
- [LeetCode]39. Combination Sum
- 39. Combination Sum LeetCode
- [leetcode] 39. Combination Sum
- 39. Combination Sum
- 39. Combination Sum
- leetcode 39. Combination Sum
- 【leetcode】 39. Combination Sum
- 39. Combination Sum(backtracking)
- CSU 1592 石子归并(区间dp)
- CSU 1597: 薛XX后代的IQ (矩阵运算)
- 简单的围棋棋盘打谱设计C#实现
- CSU 1596: Dick.Z 的炉石赛(模拟)
- CSU 1591: 三角形(海伦公式)
- 39. Combination Sum
- java基本类型的默认值
- Leetcode 69. Sqrt(x)
- 532UVa三维迷宫
- Leetcode 70. Climbing Stairs
- ssdkhook之ntopenprocess_保护用户层的应用程序不被ce打开_完美版
- 什么叫构造函数,原型属性和方法,实例属性和方法以及构造函数原型和实例三者关系
- 容器剖析
- BZOJ 1071([SCOI2007]组队-双指针)