当前位置: 首页 > news >正文

77. Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.

Example:

Input: n = 4, k = 2
Output:
[
  [2,4],
  [3,4],
  [2,3],
  [1,2],
  [1,3],
  [1,4],
]

难度:medium

题目:给定整数n 和k, 返回1到n 中k个数的所有组合。

思路:递归+剪枝

Runtime: 4 ms, faster than 93.58% of Java online submissions for Combinations.
Memory Usage: 43.1 MB, less than 1.39% of Java online submissions for Combinations.

class Solution {
    public List<List<Integer>> combine(int n, int k) {
        List<List<Integer>> result = new ArrayList<>();
        combine(n, 1, k, new Stack<>(), result);
        
        return result;
    }
    
    private void combine(int n, int begin, int k, Stack<Integer> stack, List<List<Integer>> result) {
        if (k <= 0) {
            result.add(new ArrayList<>(stack));
            return;
        }
        
        for (int i = begin; i <= n - k + 1; i++) {
            stack.push(i);
            combine(n, i + 1, k - 1, stack, result);
            stack.pop();
        }
    }
}

相关文章:

  • CUDA学习(七)
  • docker同宿主机容器和不同宿主机容器之间怎么通信?
  • Android自定义搜索框,封装了 历史搜索记录功能和样式
  • VuePress 静态网站生成
  • Android中View内部类MeasureSpec研究
  • Java多线程父子线程关系 多线程中篇(六)
  • 使用Nginx、Nginx Plus抵御DDOS攻击
  • 前嗅ForeSpider中数据浏览界面介绍
  • NPOI 笔记
  • webpy简单入门---1
  • 印刷名片用什么格式的文件好?
  • spring boot + vue + element-ui全栈开发入门——主页面开发
  • 技术胖1-4季视频复习— (看视频笔记)
  • 如何查找Fiori UI上某个字段对应的后台存储表的名称
  • 日志切割
  • 4. 路由到控制器 - Laravel从零开始教程
  • Android开源项目规范总结
  • EOS是什么
  • Odoo domain写法及运用
  • PHP变量
  • PHP的类修饰符与访问修饰符
  • Vue UI框架库开发介绍
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 对象引论
  • 多线程事务回滚
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 近期前端发展计划
  • 排序算法学习笔记
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 思考 CSS 架构
  • 栈实现走出迷宫(C++)
  • 正则表达式小结
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Linux权限管理(week1_day5)--技术流ken
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​secrets --- 生成管理密码的安全随机数​
  • ​决定德拉瓦州地区版图的关键历史事件
  • #NOIP 2014# day.1 T2 联合权值
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (9)STL算法之逆转旋转
  • (附源码)ssm高校实验室 毕业设计 800008
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (四)事件系统
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)Mysql的优化设置
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (转载)利用webkit抓取动态网页和链接
  • .NET单元测试
  • @angular/cli项目构建--http(2)
  • @Service注解让spring找到你的Service bean