LeetCode讲解篇之77. 组合

文章目录

题目描述

题解思路

遍历nums,让当前数字添加到结果前缀中,递归调用,直到前缀的长度为k,然后将前缀添加到结果集

题解代码

go 复制代码
func combine(n int, k int) [][]int {
    var nums = make([]int, n)
    for i := n; i > 0; i-- {
        nums[i-1] = i
    }
    var res = make([][]int, 0)
    var dfs func(prefix []int, nums []int, k int)
    dfs = func(prefix []int, nums []int, k int) {
        if k == 0 {
            tmp := make([]int, len(prefix))
            copy(tmp[:], prefix[:])
            res = append(res, tmp)
            return
        }
        for i := 0; i <= len(nums) - k; i++ {
            dfs(append(prefix, nums[i]), nums[i+1:], k-1)
        }
    }
    dfs(make([]int, 0, k), nums, k)
    return res
}
相关推荐
地平线开发者4 分钟前
征程6|YOLOv5x 在 Horizon J6 平台的完整部署实战(上)
算法
青 春 记 忆6 分钟前
LeetCode 104. 二叉树的最大深度|Python 解法详解
python·算法·leetcode
watersink12 分钟前
机器学习关联分析
人工智能·算法·机器学习
牛油果子哥q18 分钟前
C++STL算法超全精讲:排序/查找/去重/遍历/最值/合并全套API、仿函数、Lambda适配、实战避坑
开发语言·c++·算法
AI服务老曹28 分钟前
摄像机安装AI视频分析完整流程:从现场物理安装、硬解配置到算法POC效果验证
人工智能·算法·音视频
孤存52231 分钟前
c语言动态内存管理
c语言·开发语言·算法
牛阿大34 分钟前
MPC算法
算法
祖力5543 分钟前
快速学会数据结构中的链式队列与循环队列
linux·c语言·数据结构·算法
原凉是这样的丶1 小时前
Qwen3.8-27B 开源后,我用双 RTX 4090 跑通了:vLLM 0.27.1、128K 上下文与 MTP 实测
linux·算法
码农大叔的博客1 小时前
golang示例:for九九乘法表
开发语言·算法·golang