LeetCode Combination Sum
来源:互联网 发布:日本j2联赛网络直播 编辑:程序博客网 时间:2024/06/12 18:33
题目
Given a set of candidate numbers (C) and a target number (T), find all unique combinations inC where the candidate numbers sums to T.
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.
For example, given candidate set 2,3,6,7
and target 7
,
A solution set is: [7]
[2, 2, 3]
求候选元素中所有和为目标值的组合,
候选元素可以多次取,组合不能完全相同。
虽然没有说明,实际所有的候选元素都是不同的。
递归求解。
代码:
class Solution {vector<vector<int>> ans;//结果vector<int> temp;//单次结果public:void combs(vector<int> &cand,int target,int sum,int begin)//候选集,目标,当前集合的和,当前集合用到的最大序号{if(sum==target)//符合要求{ans.push_back(temp);return;}for(int i=begin;i<cand.size();i++)//寻找{if(sum+cand[i]<=target){temp.push_back(cand[i]);combs(cand,target,sum+cand[i],i);temp.pop_back();}elsebreak;}} vector<vector<int> > combinationSum(vector<int> &candidates, int target) { ans.clear();temp.clear();if(candidates.empty())return ans;sort(candidates.begin(),candidates.end());//!!!需要保证候选集合没有重复元素combs(candidates,target,0,0);return ans; }};
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
- 栈的介绍
- windows8.1初体验
- win8体验
- linux上搭建adb 环境
- 关于 struts2 中 prepare 接口实现数据准备
- LeetCode Combination Sum
- Android app应用调用系统关机菜单
- 一路走来
- UIAlertView
- linux 下 mysql的相关命令
- SpringMVC经典系列-04基于Spring3.1注解的方式进行项目开发---【LinusZhu】
- iOSUI视图控制下的各种触摸方法及实现
- CentOS下安装JDK7
- 看懂Gradle脚本(5)- 跟Gradle学领域驱动设计