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
}
相关推荐
努力冲冲25 分钟前
常用排序算法
java·算法·排序算法
夜斗小神社3 小时前
【LeetCode 热题 100】(六)矩阵
算法·leetcode·矩阵
天地一流殇4 小时前
SimBA算法实现过程
深度学习·算法·对抗攻击·黑盒
2501_924730614 小时前
智慧城管复杂人流场景下识别准确率↑32%:陌讯多模态感知引擎实战解析
大数据·人工智能·算法·计算机视觉·目标跟踪·视觉检测·边缘计算
weixin_307779135 小时前
C++实现MATLAB矩阵计算程序
开发语言·c++·算法·matlab·矩阵
学不动CV了5 小时前
FreeRTOS入门知识(初识RTOS任务调度)(三)
c语言·arm开发·stm32·单片机·物联网·算法·51单片机
Kingfar_15 小时前
智能移动终端导航APP用户体验研究案例分享
人工智能·算法·人机交互·ux·用户界面·用户体验
dlraba8025 小时前
机器学习-----SVM(支持向量机)算法简介
算法·机器学习·支持向量机
_poplar_5 小时前
09 【C++ 初阶】C/C++内存管理
c语言·开发语言·数据结构·c++·git·算法·stl
2501_924747117 小时前
驾驶场景玩手机识别准确率↑32%:陌讯动态特征融合算法实战解析
人工智能·算法·计算机视觉·智能手机