[leetcode刷题系列]Combination Sum II
来源:互联网 发布:退休工龄算法 编辑:程序博客网 时间:2024/04/28 16:39
- - 继续暴力把
class Solution { void dfs(vector<pair<int, int>> &vp, int p, int target, vector<int> & stk, vector<vector<int> > & ans){ if(target == 0){ ans.push_back(stk); return ; } if(p >= vp.size()) return ; // not use dfs(vp, p + 1, target, stk, ans); // use int i = 1; for(; i <= vp[p].second && i * vp[p].first <= target; ++ i){ stk.push_back(vp[p].first); dfs(vp, p + 1, target - i * vp[p].first, stk, ans); } while(--i > 0) stk.pop_back(); }public: vector<vector<int> > combinationSum2(vector<int> &num, int target) { // Start typing your C/C++ solution below // DO NOT write int main() function map<int, int> hash; for(int i = 0; i < num.size(); ++ i) hash[num[i]] ++ ; vector<pair<int, int> > vp; for(map<int, int> :: iterator it = hash.begin(); it != hash.end(); ++ it) vp.push_back(make_pair(it->first, it->second)); vector<vector<int> > ans; vector<int> stk; dfs(vp, 0, target, stk, ans); return ans; }};
- [leetcode刷题系列]Combination Sum II
- leetcode系列(54)Combination Sum, Combination Sum II
- [leetcode刷题系列]Combination Sum
- LeetCode: Combination Sum II
- LeetCode: Combination Sum II
- [LeetCode]Combination Sum II
- LeetCode Combination Sum II
- [Leetcode] Combination Sum II
- [LeetCode] Combination Sum II
- LeetCode Combination Sum II
- [Leetcode] Combination Sum II
- LeetCode: Combination Sum II
- leetcode Combination Sum II
- [LeetCode]Combination Sum II
- [leetcode] Combination Sum II
- LeetCode-Combination Sum II
- LeetCode - Combination Sum II
- LeetCode:Combination Sum II
- 完美卸载SQL Server 2008的方案
- cakephp笔记——find()函数
- MyEclipse6.5安装SVN插件的三种方法
- HDOJ 2191
- 日前在CVBS的输出中遇到如下问题,特记录
- [leetcode刷题系列]Combination Sum II
- 程序员的十个层次
- 问题:编译器也是一个程序,那世界上第一个编译器是怎么得到的?
- 不要在init和dealloc函数中使用accessor
- linux下分享信号个android手机
- Unity3D基础知识梳理
- sql server 2008 安装出现错误(附图)
- Deep Learning论文笔记之(五)CNN卷积神经网络代码理解
- uva 11210