博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode - Combinations
阅读量:5131 次
发布时间:2019-06-13

本文共 1121 字,大约阅读时间需要 3 分钟。

题目:

Given two integers n and k, return all possible combinations of k 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],]

思路:

递归

package recursion;import java.util.ArrayList;import java.util.List;public class Combinations {    public List
> combine(int n, int k) { List
> res = new ArrayList
>(); List
record = new ArrayList
(); generateRecord(res, record, 1, n, k); return res; } private void generateRecord(List
> res, List
record, int start, int end, int k) { if (k == 0) { res.add(record); return; } for (int i = start; i <= end - k + 1; ++i) { List
newRecord = new ArrayList
(record); newRecord.add(i); generateRecord(res, newRecord, i + 1, end, k - 1); } } public static void main(String[] args) { // TODO Auto-generated method stub Combinations c = new Combinations(); List
> res = c.combine(4, 2); for (List
l : res) { for (int i : l) System.out.print(i + "\t"); System.out.println(); } }}

 

转载于:https://www.cnblogs.com/null00/p/5094656.html

你可能感兴趣的文章
分析Linux 0.11中的kernel部分的makefile文件
查看>>
POJ-2226 Muddy Fields 最小点集覆盖
查看>>
docker社区的geodata/gdal镜像dockerfile分析
查看>>
【leetcode】Edit Distance
查看>>
python--集合
查看>>
高精度计时器 -- C++/Windows版
查看>>
Vue v-on v-model 组合使用
查看>>
java OO
查看>>
H5活动页开发有关
查看>>
IOS调试使用技巧
查看>>
JAVA之多线程概念及其几种实现方法优劣分析
查看>>
python3.6+selenium_发送邮件(包含自动生成的测试报告)
查看>>
POJ 1006 同余方程组
查看>>
javascript时间差工具包
查看>>
TCP/IP 基础简介
查看>>
页面中部分标签简单描述
查看>>
GIT 远程仓库
查看>>
[工具]Visual Studio
查看>>
【亲测可行】Dev c++调试、运行报错解决方法总结
查看>>
15/7/2017 暑期第一次集训小总结
查看>>