leetcode-Combination Sum
来源:互联网 发布:网络用语产生的原因 编辑:程序博客网 时间:2024/05/21 06:22
Given a set of candidate numbers (C) and a target number (T), find all unique combinations inC where the candidate numbers sums toT.
The same repeated number may be chosen from C unlimited number of times.
Note:
- All numbers (including target) will be positive integers.
- Elements in a combination (a1, a2, … ,ak) must be in non-descending order. (ie,a1 ≤a2 ≤ … ≤ ak).
- The solution set must not contain duplicate combinations.
2,3,6,7
and target 7
, A solution set is:
[7]
[2, 2, 3]
注意:元素可以重复选择。
class Solution { void helper(vector<int> &base,vector<vector<int> > &res,vector<int>& can,int left){ int max=base.empty()?INT_MIN:base.back(); //选择暂存数组base的最大值 for(auto &e:can){ if(e<max) //因为暂存数组必须是升序,所以如果e小于末尾元素则不考虑 continue; if(e==left){ //递归终止的条件,left是剩余的和 base.push_back(e); res.push_back(base); base.pop_back(); }else if(e<left){ base.push_back(e); helper(base,res,can,left-e); base.pop_back(); }else //因为candidates是递增数组 break; } }public: vector<vector<int>> combinationSum(vector<int>& candidates, int target) { vector<vector<int> > res; if(candidates.empty()||target<=0) return res; vector<int> base; sort(candidates.begin(),candidates.end()); helper(base,res,candidates,target); return res; }};
0 0
- [LeetCode] Combination Sum、Combination Sum II
- 【LeetCode】Combination Sum && Combination Sum II
- leetcode之Combination Sum && Combination Sum II
- leetcode Combination Sum &Combination Sum II
- leetcode-combination sum and combination sum II
- Leetcode:Combination Sum与Combination Sum II
- leetcode Combination Sum VS Combination Sum II
- [Leetcode]Combination Sum &&Combination Sum II
- LeetCode Combination Sum & Combination Sum II
- leetcode | Combination Sum & Combination Sum 2
- LeetCode: Combination Sum
- LeetCode: Combination Sum II
- LeetCode: Combination Sum
- LeetCode: Combination Sum II
- [LeetCode]Combination Sum
- [LeetCode]Combination Sum II
- LeetCode Combination Sum
- LeetCode Combination Sum II
- 关于博客更新及Android记事本源码问题
- ubuntu12.04安装开机进入不了桌面,显示黑屏
- Android 简单特殊知识点
- 2015-10-28基础知识
- Linux基础(五)文件权限drw -r -r--
- leetcode-Combination Sum
- 2015.26.23_ScrollView点击按钮回到顶部
- 【剑指offer】-替换空格
- 终极指南:如何为iOS8应用制作预览视频
- Android对于不同分辨率的支持
- 8.9.1 Controlling Query Plan Evaluation 控制查询评估
- UIImage 图片处理 灰度 反色 深棕色
- 素数的查找
- 超简单的自定义AlertDialog弹出键盘可以输入的