(leetcode) Combination Sum
2015-09-23 17:00
330 查看
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C 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
A solution set is:
使用回溯法:
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,7and target
7,
A solution set is:
[7]
[2, 2, 3]
使用回溯法:
class Solution { public: void backtrace(vector<int>& candidates,int sum,int target, vector<vector<int > > &results,vector<int> &result,int index) { if(sum == target) { results.push_back(result); return; } else if(sum > target) { return; } else if(sum < target) { for(int i = index; i < candidates.size();++i) { result.push_back(candidates[i]); backtrace(candidates, sum + candidates[i],target,results,result,i); result.pop_back(); } } } vector<vector<int>> combinationSum(vector<int>& candidates, int target) { sort(candidates.begin(),candidates.end()); vector<vector<int > > results; vector<int> result; int index = 0; int sum = 0; backtrace(candidates,sum,target,results,result,index); return results; } };
相关文章推荐
- 常用网址
- CSDN中根据文章自动生成文章目录
- PAT(甲级)1018
- 高可用可伸缩架构实用经验谈
- Visual Studio2010解决无法启动***.lib的问题
- 提示软件包 xxx需要重新安装,但是我(apt)无法找到相应的安装
- UILabel自动换行
- Eclipse 开发快捷键使用详解
- 通用js函数集锦<来源于网络> 【二】
- jsonp协议原理深度解析
- 李冰烧山——大道至简第二章读后感
- vs2013 MFC打开文件或文件夹对话框(有图有真相)
- linux安装flume及问题
- zxing生成二维码
- HDU 2119--Matrix【二分图 && 最小点数覆盖】
- 注册表使用
- bzoj-2276 Temperature
- table调整td宽度整理-完美解决--费元星前端
- [Leetcode]Missing Number
- 在AIX上安装Zabbix_agent