133 字
1 分钟
LeetCode-77. 组合
2026-04-01

回溯#

77. 组合

给定两个整数 nk,返回范围 [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]]

func combine(n int, k int) [][]int {
res := [][]int{}
path := []int{}
var backtrack func(int)
backtrack = func(index int) {
if len(path) == k {
res = append(res, append([]int(nil), path...))
return
}
for i := index; i <= n; i++ {
path = append(path, i)
backtrack(i+1)
path = path[:len(path)-1]
}
}
backtrack(1)
return res
}
LeetCode-77. 组合
https://sheep44044.github.io/posts/算法/回溯/leetcode-77-组合/
作者
sheep44044
发布于
2026-04-01
许可协议
CC BY-NC-SA 4.0