leetCode(31):Combination Sum III
来源:互联网 发布:通达信证券交易软件 编辑:程序博客网 时间:2024/05/16 06:58
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.
Ensure that numbers within the set are sorted in ascending order.
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]]
void combinationSum(int k,int index,int n,vector<int>& tmp,vector< vector<int> >& vec){//k个数据相加为n,数据范围是index~9,tmp用于临时存放数据,vec用于存放返回值if(k==1){//还有最后一个名额,如果找不到相符的数据,说明没有满足的情况,需要返回for(int i=index;i<=9;++i){if(i==n){tmp[k-1]=i;vec.push_back(tmp);break;}}}else{for(int i=index;i<=9;++i){tmp[k-1]=i;//反向存放数据,递归combinationSum(k-1,i+1,n-i,tmp,vec);}}}vector< vector<int> > combinationSum3(int k, int n){vector< vector<int> > vec;vector<int> tmp;for(int i=0;i<k;++i){//初始化tmp.push_back(0);}combinationSum(k,1,n,tmp,vec);for(int i=0;i<vec.size();++i){//因为数据是反向存放的,所以还需要一次反转reverse(vec[i].begin(),vec[i].end());}return vec;}
0 0
- leetCode(31):Combination Sum III
- LeetCode Combination Sum III
- [LeetCode] Combination Sum III
- 【leetcode】 Combination Sum III
- [leetcode] Combination Sum III
- [leetCode] Combination Sum III
- leetcode Combination Sum III
- leetcode--Combination Sum III
- LeetCode Combination Sum III
- Leetcode: Combination Sum III
- leetcode: Combination Sum III
- 【leetcode】Combination Sum III
- Combination Sum III -- leetcode
- [Leetcode]Combination Sum III
- Leetcode: Combination Sum III
- leetcode:Combination Sum III
- LeetCode-Combination Sum III
- LeetCode----Combination Sum III
- Hadoop
- android 存储5种方式
- Web安全测试之XSS
- iOS应用架构谈 网络层设计方案
- 如何在Oracle中建立表和表空间?
- leetCode(31):Combination Sum III
- 上下无缝滚动(应用高级盒子模型)
- Delphi与各种装置设备之间的开发整合及应用实例
- 二叉树路径的和(算法)
- 用户体验之如何优化你的APP
- 关于C++builder中精度丢失的问题
- HOG特征
- iOS应用架构谈 view层的组织和调用方案
- 多文件夹下的Makefile自动编译