LeetCode 216. Combination Sum III
来源:互联网 发布:淘宝发布定制产品 编辑:程序博客网 时间:2024/05/18 03:45
- 题目描述
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]]
2. 解题思路
这个题目,大概思路是二叉树深搜,每一个数字只有两种情况放进去还是不放进去。
设置一个数组用来保存当前放进去的结果,再用一个长度来限制一下一组答案的数字个数,剪枝。
3. 实现代码
class Solution {public: int path[9]; int pathLength=0; vector<vector<int>> res; void DFS(int target,int k,int current){ if(target==0&&k==0){ //get result vector<int> t; for(int i=0;i<pathLength;++i){ t.push_back(path[i]); } res.push_back(t); } else if(target<=0||k<=0||current>9){ return; } else{ //add this point path[pathLength++]=current; DFS(target-current,k-1,current+1); //no add this point --pathLength; DFS(target,k,current+1); } } vector<vector<int>> combinationSum3(int k, int n) { DFS(n,k,1); return res; }};
0 0
- [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
- [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
- 理解复杂C声明
- xcode写C语言的数据类型与vs的不同
- Android 命名规范
- 当心空指针异常——将头像存储到T_User用户信息表里
- Android安装Ubuntu13.10
- LeetCode 216. Combination Sum III
- [LeetCode] 134. Gas Station
- Java 中的集合框架
- sbt安装与配置
- nginx TCP 负载均衡在oracle 10g负载均衡实践
- 限制范围的拖拽的简单实现及封装(含磁性吸附)
- leetcode: Search Insert Position
- 嵌入式概括
- JavaScript实现搜索框效果