Combination Sum
来源:互联网 发布:下载配色软件 编辑:程序博客网 时间:2024/05/16 09:21
题目大意:给定一个数组candidates和一个数target,求一个不同的集合,集合里面的每个数来自于candidates,它们的和为target
解题思路:递归。先对candidates从大到小排序,遍历每个元素做递归,遍历到当前元素有两种选择,
第一种,选取这个数,然后继续在这个位置进行递归
第二种,不选取这个数,在这个数后面的位置进行递归
class Solution {public: vector<vector<int> > combinationSum(vector<int> &candidates, int target) { vector<vector<int> > result; vector<int> combination; if(!candidates.empty()) { sort(candidates.begin(), candidates.end()); combinationSumAssist(candidates, 0, target, result, combination); } return result; }private: void combinationSumAssist(vector<int> &candidates, int index, int target, vector<vector<int> > &result, vector<int> &combination) { if(index >= candidates.size()) { return; } int temp = target - candidates[index]; if(temp >= 0) { combination.push_back(candidates[index]); if(temp == 0) { result.push_back(combination); } else { combinationSumAssist(candidates, index, temp, result, combination); } combination.pop_back(); } combinationSumAssist(candidates, index + 1, target, result, combination); }};
0 0
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- shell 初步
- 获取当前的viewcontroller
- git如何忽略文件或者文件夹
- Python写的贪吃蛇游戏例子
- poj 3041Asteroids 二分匹配求最小点覆盖模板题
- Combination Sum
- 我的新书——《UGUI全面实践教程》
- Spring绑定参数
- C++ 函数指针与指针函数
- 环境搭建及开发流程(官网翻译Get Started)
- [HiHoCoder]#1015 : KMP算法
- 【Hibernate】Hibernate的在Eclipse+Mysql的配置、安装,纯Java,利用Annotation与HQL完成数据库的增删改查
- undefined reference to XXX
- 【spring框架】关于DataSource(上)