LeetCode 39 Combination Sum
来源:互联网 发布:淘宝里的转化率是什么 编辑:程序博客网 时间:2024/06/07 10:41
题意:
数字集合中的每个数字可以使用无限次,求出所有的数字和为给定target的方案。
思路:
如果target小的话,可以当成完全背包问题来处理,但是target数值可能很大,所以干脆就搜索吧= =
从大到小的搜索集合中的数字并枚举使用次数。
代码:
class Solution {public: vector<vector<int>> combinationSum(vector<int> &candidates, int target) { n = candidates.size(); count = new int[n]; vector<vector<int>> ans; sort(candidates.begin(), candidates.end()); dfs(n - 1, target, ans, candidates); return ans; }private: int n; int *count; void dfs(int idx, int target, vector<vector<int>> &ans, vector<int> &candidates) { for (int i = 0; i <= target / candidates[idx]; ++i) { count[idx] = i; int newtar = target - candidates[idx] * i; if (newtar == 0) { vector<int> res; for (int j = idx; j < n; ++j) { for (int k = count[j]; k > 0; --k) { res.push_back(candidates[j]); } } ans.push_back(res); } else if (candidates[0] <= newtar && idx > 0) { dfs(idx - 1, newtar, ans, candidates); } } }};
阅读全文
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
- 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
- leetcode 39 Combination Sum
- surfaceiew 和texture view
- poj 2191 大数素数判定 && 大数素数分解
- tomcat日志配置-----自带log(一)
- python
- xcode soundtouch 一次编译armv7 armv7s arm64 i386 i64 库
- LeetCode 39 Combination Sum
- nth-child选择器用于表格
- 四元素与欧拉角之间的转换
- Find them, Catch them POJ
- ssm中mybatis处理数据库(mysql)与pojo属性中类型不一致(string转date)
- Open JDK源码下载地址
- 每周荐书:SQL优化、深度学习、数据科学家(评论送书)
- fasttext的基本使用 java 、python为例子
- 删除Eclipse已有的SVN资源库位置