您的位置:首页 > 其它

leetcode_77. 组合

2020-09-08 09:39 92 查看

目录

一、题目内容

二、解题思路

三、代码

一、题目内容

给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。

示例:

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

二、解题思路

1.每次添加一个元素,直到添加到两个元素为止。

2.添加一个元素之后,则只需要考虑下一个即可,循环开始位置为已经添加元素的索引的下一个。

三、代码

[code]class Solution:
def combine(self, n: int, k: int):
ret = []

def dfs(res, cur):
if len(res) == k:
return ret.append(res)
for i in range(cur, n):
dfs(res + [i + 1], i + 1)
dfs([], 0)
return ret

if __name__ == '__main__':
n = 4
k = 2
s = Solution()
ans = s.combine(n, k)
print(ans)
悲恋花丶无心之人 CSDN认证博客专家 TensorFlow 深度学习 神经网络 计算机视觉在读研究生,熟悉Pytorch,MXNet,TensorFlow,Keras等深度学习框架,主要涉及的领域有目标检测,语义分割,超分辨率重建,行人重识别等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: