LeetCode--Combination Sum
来源:互联网 发布:ubuntu登录root 编辑:程序博客网 时间:2024/05/18 13:12
题目:
Given a set of candidate numbers (C) (without duplicates) 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.
- 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]]解读:给予一组不重复的正整数数组C,和一个正整数T。从C数组中找出所有数字组合使得和为T,所用的元素可以重复。最终结果中的数组不能重复。
思维:采用递归的方法。设一个整数sum存储当前预备结果的数组的元素和,如果sum>target则返回并把预备结果数组最后一个元素弹出;如果sum==target则把预备结果数组放入最终的结果中,返回并弹出最后元素。用low来存储搜索的数组开始的下标。
代码如图:
class Solution {public: void combinesum(int target, int& sum, vector<int>& candidates,vector<int>& solution, int low, vector<vector<int>>& result){ if(sum > target) return; if(sum == target) result.push_back(solution); for(int i = low; i < candidates.size(); i++){ sum += candidates[i]; solution.push_back(candidates[i]); combinesum(target, sum, candidates, solution, i , result); sum -= candidates[i]; solution.pop_back(); } } vector<vector<int>> combinationSum(vector<int>& candidates, int target) { int sum = 0; int low = 0; vector<vector<int>> result; vector<int> solution; combinesum(target,sum, candidates,solution, low, result); return result; } };
阅读全文
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
- 人工智能之父艾伦·麦席森·图灵
- Ubuntu下解决 zip 文件解压乱码的问题
- java鼠标事件监听
- 在Ubuntu下实现静默安装程序
- 稳压电源 连载4:一般直流电源部分-滤波器;
- LeetCode--Combination Sum
- 什么是内存溢出与内存泄露,几种常见导致内存泄露的写法
- 第十一周 --项目一“图基本算法库”
- CSDN怎样转载别人文章
- Zmap安装教程
- java实验总结
- Java算法中的 >>>1
- Codeforces Beta Round #17 C. Balance DP
- RNN公式推导