Leetcode: 216. Combination Sum III(Week14, Medium)
来源:互联网 发布:淘宝宝贝上架 编辑:程序博客网 时间:2024/05/17 22:55
Leetcode 216
Find all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers.Example 1:
Input: k = 3, n = 7
Output:
[[1,2,4]]
Example 2:
Input: k = 3, n = 9
Output:
[[1,2,6], [1,3,5], [2,3,4]]
- 题意:定义k为组合的长度,n为目标值,现要求从数字序列1-9中,找到所有的组合(组合不重复),且数字序列中每个数字只能使用一次,最终每个组合的和会等于目标值
- 思路:思路与Combination SumII类似,只不过是在递归函数中要多加点限制,即获得正确组合的条件是:
n==0 && k == 0
- 代码如下:
class Solution {public: vector<vector<int>> combinationSum3(int k, int n) { vector<vector<int>> result; vector<int> temp_result; for (int i = 1; i <= 9; i++) { temp_result.push_back(i); solve_Combination_Sum(result, temp_result, k-1, n-i, i); temp_result.pop_back(); } return result; } void solve_Combination_Sum(vector<vector<int>>& result, vector<int>& out, int k, int n, int num) { if (n < 0) return; if (n == 0 && k == 0) result.push_back(out); if (k == 0) return; for (int i = num+1; i <= 9; i++) { out.push_back(i); solve_Combination_Sum(result, out, k-1, n-i, i); out.pop_back(); } }};
以上内容皆为本人观点,欢迎大家提出批评和指导,我们一起探讨!
阅读全文
0 0
- Leetcode: 216. Combination Sum III(Week14, Medium)
- Leetcode 216. Combination Sum III (Medium) (cpp)
- 216.leetcode Combination Sum III(medium)[回溯]
- 216. Combination Sum III -Medium
- 【LeetCode】216.Combination Sum III(Medium)解题报告
- [Leetcode 216, Medium] Combination sum III
- LeetCode #216 - Combination Sum III - Medium
- [leetcode] 216.Combination Sum III
- LeetCode 216. Combination Sum III
- 216. Combination Sum III LeetCode
- [leetcode] 216. Combination Sum III
- [LeetCode]216. Combination Sum III
- leetcode 216. Combination Sum III
- LeetCode *** 216. Combination Sum III
- LeetCode 216. Combination Sum III
- leetcode.216. Combination Sum III
- leetcode 216. Combination Sum III
- [Leetcode]216. Combination Sum III
- Java的Base64
- 关于在在foreach循环中移除集合中的元素的解决方案
- call和apply的用法和区别
- 购物车的整体实现逻辑
- A星算法详解
- Leetcode: 216. Combination Sum III(Week14, Medium)
- 【转】C++通过TinyXML类库读写XML
- 《数字技术》连载0:目 录.
- 路径、分页、标签和徽章组件
- HTML基础(9.1 表格)
- Intellij Idea免费激活方法
- how to resovle The type 'UserControl' does not support direct content
- javabean HTTP Status 500
- 关于Java的File.separator