写点什么

[Day42]-[回溯]- 组合

作者:方勇(gopher)
  • 2022 年 5 月 18 日
  • 本文字数:327 字

    阅读完需:约 1 分钟

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]]
复制代码

题解:

func TestCombine(t *testing.T) {	var res [][]int	var trackBack func(n, k, start int, trace []int)	trackBack = func(n, k, start int, trace []int) {		if len(trace) == k {			res = append(res, append([]int{}, trace...))			return		}		for i := start; i <= n; i++ {			trace = append(trace, i)			trackBack(n, k, i+1, trace)			trace = trace[:len(trace)-1]		}	}	trackBack(4, 2, 1, []int{})	t.Log(res)}
复制代码


用户头像

Dead or Alive. 生存战斗是知识的源泉! 2018.11.08 加入

我是一名SRE哨兵,目前是好大夫基础架构部高级工程师。专注于 SRE,微服务、中间件的稳定性和可用性建设,整体负责好大夫服务治理云平台的设计和搭建!

评论

发布
暂无评论
[Day42]-[回溯]-组合_LeetCode_方勇(gopher)_InfoQ写作社区