leetcode习题解答:39. Combination Sum
来源:互联网 发布:app store 软件 发票 编辑:程序博客网 时间:2024/05/21 06:24
难度:Medium
描述:
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
,
他要求数组中加起来等于target的组合,这个数可以重复使用。
可以递归地实现,先排序,不断挑可以选的最小的数字。加进一个数组里,看数组和是不是等于target,等于就加到结果中,小于就把它放到数组,进入下一层递归。
代码:
#include <algorithmn>class Solution {public: int T; int cal(vector<int>& filled){ int res = 0; for (int i = 0; i < filled.size(); i++){ res += filled[i]; } return res; } void fill(vector<int>& source, vector<int>& filled, vector<vector<int>>& res,int start){ for (int i = start; i < source.size(); i++){ if (cal(filled)+source[i] == T){ filled.push_back(source[i]); res.push_back(filled); filled.pop_back(); } else if (cal(filled)+source[i] < T){ filled.push_back(source[i]); fill(source, filled, res, i); filled.pop_back(); } } } vector<vector<int>> combinationSum(vector<int>& candidates, int target) { T = target; sort(candidates.begin(),candidates.end()); vector<int> filled; vector<vector<int>> res; fill(candidates,filled,res,0); return res; }};
阅读全文
0 0
- leetcode习题解答:39. Combination Sum
- [LeetCode]39.Combination Sum
- LeetCode --- 39. Combination Sum
- LeetCode 39.Combination Sum
- [Leetcode] 39. Combination Sum
- Leetcode-39.Combination Sum
- LeetCode 39. Combination Sum
- [LeetCode]39. Combination Sum
- 39. Combination Sum LeetCode
- [leetcode] 39. Combination Sum
- leetcode 39. Combination Sum
- 【leetcode】 39. Combination Sum
- LeetCode 39. Combination Sum
- leetcode 39. Combination Sum
- LeetCode 39. Combination Sum
- LeetCode *** 39. Combination Sum
- LeetCode 39. Combination Sum
- leetcode 39. Combination Sum
- 如何在viewDidAppear之前使用view的frame正确布局
- MHA实现MySQL主从自动在线切换功能
- java中的异常
- VB与数据库连接小知识
- Hadoop3.0.0伪分布式、完全分布式安装及其新特性介绍
- leetcode习题解答:39. Combination Sum
- Python 深入浅出
- 为什么有的操作符重载函数只能是成员函数?
- leetcode题解-84.Largest Rectangle in Histogram
- 一步步教你Hadoop多节点集群安装配置
- 异常
- 如何在keystone项目中编写API文档
- 购物(DP/贪心)
- C++ DFS BFS