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

代码随想录算法训练营第24天|● 理论基础 ● 77. 组合

77. 组合

已解答
中等
相关标签
相关企业
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案。

示例 1:
输入:n = 4, k = 2
输出:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]
示例 2:
输入:n = 1, k = 1
输出:[[1]]

提示:

  • 1 <= n <= 20
  • 1 <= k <= n

代码

func combine(n int, k int) [][]int {
   tmp, res := make([]int, 0), make([][]int, 0)
   dfs(n, k, 1, tmp, &res)
   return res
}

func dfs(n int, k int, startindex int, combine []int, res *[][]int) {
   if len(combine) == k {
      tmp := make([]int, len(combine))
      copy(tmp, combine)
      *res = append(*res, tmp)
      return
   }

   for i := startindex; i <= n; i++ {
      combine = append(combine, i)
      dfs(n, k, i+1, combine, res)
      combine = combine[:len(combine)-1]
   }
   return
}

http://www.kler.cn/a/158685.html

相关文章:

  • 一文了解 inductive bias(归纳偏好)
  • React Native 全栈开发实战班 :数据管理与状态之React Hooks 基础
  • 十五届蓝桥杯赛题-c/c++ 大学b组
  • Ascend C算子性能优化实用技巧05——API使用优化
  • 优化C++设计模式:用模板代替虚函数与多态机制
  • gvim添加至右键、永久修改配置、放大缩小快捷键、ctrl + c ctrl +v 直接复制粘贴、右键和还原以前版本(V)冲突
  • 代码随想录算法训练营 ---第五十五天
  • unity 2d入门飞翔小鸟按钮点击功能且场景切换(二)
  • QT中的 容器(container)-大全
  • 基于SpringBoot的校园互助网站
  • Understanding Computer Hardware
  • 【已验证】SqlBulkCopy 执行批量插入的时候报超时问题-解决办法
  • 开源众筹平台系统源码/高仿某滴筹平台源码/PHP源码/互助众筹系统网站源码
  • SQL Server的安装和首个库的创建
  • 利用jQuery实现AJAX定时刷新局部页面实例
  • 1_控制系统总体结构
  • TCP首部格式_基本知识
  • JVM执行引擎
  • (C语言)通过循环按行顺序为一个矩阵赋予1,3,5,7,9,等奇数,然后输出矩阵左下角的值。
  • L1-009:N个数求和
  • [LeetCode系列] 30天pandas挑战
  • Hadoop的介绍与安装
  • nodejs+vue+ElementUi爱宠养护交流平台设计与实现vwq50
  • 【SpringCloud】设计原则之前后端分离与版本控制
  • 【聚类】K-modes和K-prototypes——适合离散数据的聚类方法
  • 使用极限网关助力 ES 集群无缝升级、迁移上/下云