一、问题描述

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],
]

二、问题分析

这道题是典型的backtracking类题目,这类题目感觉起来有点枚举的感觉(把所有的情况列出来)。这类题有类似的处理方式,可以参看generate parentheses,有回溯的基本解释。

三、Java AC 代码

public List<List<Integer>> combine(int n, int k) {List<List<Integer>> res = new ArrayList<List<Integer>>();List<Integer> item = new ArrayList<Integer>();if (k > n || n <= 0 || k <= 0) {return res;}dfsHelper(res, item, 1, n, k);return res;}public void dfsHelper(List<List<Integer>> res, List<Integer> item,int start, int n, int k) {if (item.size() == k) {res.add(new ArrayList<Integer>(item));return;}for (int i = start; i <= n; i++) {item.add(i);dfsHelper(res, item, i+1, n, k);item.remove(item.size() - 1);}}

【leetcode】【77】Combinations相关推荐

  1. 【LeetCode 深度优先搜索专项】不同岛屿的数量 II(711)

    文章目录 1. 题目 1.1 示例 1.2 说明 1.3 提示 1.4 进阶 2. 解法一(深度优先搜索) 2.1 分析 2.2 解答 2.3 复杂度 1. 题目 给定一个 m×nm \times n ...

  2. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  3. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  4. 【LeetCode每日一题】810. 黑板异或游戏

    [LeetCode每日一题]810. 黑板异或游戏 题目: 黑板上写着一个非负整数数组 nums[i] .Alice 和 Bob 轮流从黑板上擦掉一个数字,Alice 先手.如果擦除一个数字后,剩余的 ...

  5. 【leetcode刷题笔记】动态规划

    #[leetcode刷题笔记]动态规划 石子游戏 public boolean stoneGame(int[] piles) {int N = piles.length;// dp[i][j] is ...

  6. 【leetcode热题100】刷题记录(5-8)

    [leetcode热题100]刷题记录(5-8) 5. 最长回文子串 2. 两数相加 3. 无重复字符的最长子串 4. 寻找两个正序数组的中位数 5. 最长回文子串 题目链接 给你一个字符串 s,找到 ...

  7. 【LeetCode通关全记录】658. 找到 K 个最接近的元素

    [LeetCode通关全记录]658. 找到 K 个最接近的元素 题目地址

  8. 【LeetCode从零单刷】Permutations

    题目: Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the f ...

  9. 4月你好,愚人节果然是笨人,【LeetCode每日一题】1006. 笨阶乘

    4月你好,愚人节果然是笨人,[LeetCode每日一题]1006. 笨阶乘 今日题目1006题,每日一题微信交流群可以点击右下角:合作转载->联系我,拉你入群. 目前每日一题两个群,每天推送题目 ...

  10. 【LeetCode刷题日记】常用算法基础和理解及运用

    在我们LeetCode刷题过程中,如果我们只是了解数据结构(数组,链表,数)的使用方法,那我们在面对复杂的题目时,是很难很好的解决问题的,因此我们要了解一些常用算法来帮助我们更好的解题. 递归和迭代 ...

最新文章

  1. oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT
  2. 绿联 蓝牙适配器 linux,绿联蓝牙适配器
  3. [记忆碎片的磁盘整理]老妈
  4. 网不好怎么办?TLS握手带宽直降80%,BabaSSL是怎么做到的?| 龙蜥技术
  5. Silverlight 游戏开发小技巧:实现街霸4的选人界面
  6. 「leetcode」56. 合并区间【贪心算法】详细图解!
  7. Oracle12c CDB和PDB数据库的启动与关闭说明
  8. 教团1886:高端的半成品电影
  9. HTML5+CSS大作业——“传统节日--端午节(9页)
  10. 云服务器添加交换分区
  11. [转]关于模糊控制的理解
  12. 单键带定时雾化补水仪-DLT8P65SA
  13. 学生机房管理服务器系统设计,中小学机房管理系统设计与实现
  14. 苹果系统模拟器_开发者成功在苹果MacBook上通过模拟器正常运行Windows 10X版
  15. py-kms激活VOL
  16. 软件设计的不同模型:瀑布式、快速原型法以及迭代式
  17. 利用FME实现DLG数据无损转CAD地形图,实现CAD地物符号完美还原的解决方案,解决CAD地图符号难以还原的痛点问题,gdb转CAD,mdb转CAD,shp转CAD,shapefile转CAD
  18. 计网——(数据报与虚电路)
  19. java web网站 js 简体繁体切换_通过JS实现网站繁体简体互换
  20. HTTrack 爬取整站

热门文章

  1. U3D_Shader编程(第一篇:快速入门篇)
  2. metasploit 技术功能模块介绍
  3. 19年6月六级翻译词汇
  4. 大衣哥家的小伟和亚楠还能走多久?
  5. 坐标计算机在线,公路坐标计算系统免费版
  6. almon多项式_计量经济学 总结.docx
  7. 一文带你由浅入深Netty异步非阻塞世界(持续更新~~~)
  8. python 批量下载视频_Python一键批量下载抖音无水印视频
  9. linux设置法语键盘布局,法语键盘布局图
  10. 如何制作多链接二维码?一次性防伪二维码?