Leetcode OJ 77 Combinations [Medium]
来源:互联网 发布:网络架构师年薪 编辑:程序博客网 时间:2024/05/29 21:33
Leetcode OJ 77 Combinations [Medium]
题目描述:
Given two integers nand k, return all possible combinations ofk numbers out of 1 ...n.
For example,
If n = 4 and k = 2,a solution is:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]
题目理解:
实现一个函数:给定两个整数n和k,返回所有的k个数字的组合,k个数字是1,2……n。
测试用例:
功能测试:n>0,n>k;
边界测试:n=0,k=0;n>0,k=0;n<k;
分析:
递归:
1. K个数字组合 = 第1个数字,组合上后面k-1个数字组合;k-1个数字组合 = 组合的第1个数字,组合上,后面k-2个数字组合;……
2. 以第1个数字作为开始组合完后,再以第二个数字作为开始组合,直到以最后一个数字作为组合开始(如果存在的话);
解答:
class Solution { public List<List<Integer>> combine(int n, int k) { List<List<Integer>> result = new ArrayList<List<Integer>>(); combineRecursion(result, new ArrayList<Integer>(),1,n,k); return result; } static public void combineRecursion(List<List<Integer>> result,List<Integer> comb,int start,int end,int k){ if(k == 0){ result.add(new ArrayList<>(comb)); return; } else{ for(int i = start; i<=end; i++){ comb.add(i); combineRecursion(result,comb,i+1,end,k-1); comb.remove(comb.size()-1); } } }}
阅读全文
0 0
- Leetcode OJ 77 Combinations [Medium]
- LeetCode #77 - Combinations - Medium
- LeetCode-77-Combinations(回溯法)-Medium
- Leetcode 77. Combinations (Medium) (cpp)
- 【LeetCode OJ】Combinations
- LeetCode OJ:Combinations
- LeetCode OJ - Combinations
- LeetCode OJ Combinations
- <LeetCode OJ> 77. Combinations
- LeetCode OJ-77.Combinations
- 77.leetcode Combinations(medium)[回溯递归]
- 第十五周 leetcode 77. Combinations(Medium)
- Leetcode OJ 46. Permutations [Medium]
- Leetcode OJ 78 Subsets [medium]
- <LeetCode><Medium>17Letter Combinations of a Phone Number
- Leetcode 17. Letter Combinations of a Phone Number (Medium) (cpp)
- LeetCode OJ算法题(七十七):Combinations
- LeetCode OJ 之 Combinations (组合)
- javascript原型链详细解析(一)
- Faster-RCNN_TF代码解读7:VGGnet_train.py
- 秒杀系统架构优化思路
- 笔记
- mysql表损坏修复
- Leetcode OJ 77 Combinations [Medium]
- Linux笔记之配置1:配置主机名
- java对redis的基本操作
- hdu 6033
- 安卓开发基类BaseActivity、BaseApplication
- Qt QFile的ReadAll函数的注意
- SpringMVC的一些注解
- 数据库基础操作
- VMware中ubuntu忘记密码的解决办法