class Solution:
def combine(self, n: int, k: int) -> List[List[int]]:
def search(cur, remain):
if remain == 0:
return [[]]
return [[c] + next
for c in range(cur, n+2-remain)
for next in search(c+1, remain-1)]
return search(1, k)
class Solution(object):
def combine(self, n, k):
"""
:type n: int
:type k: int
:rtype: List[List[int]]
"""
result = []
def dfs(stack, num, k):
if k == 0:
result.append(stack)
return
for i in reversed(range(1, num + 1)):
if k > i: break
dfs(stack + [i], i - 1, k - 1)
dfs([], n, k)
return result
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
d = []
d.append([])
for x in nums:
l = len(d)
for i in range(l):
t = [x]
d.append(t+d[i])
return d
#一行
#return [[x for b, x in zip(("{:0" + str(len(nums)) + "b}").format(n), nums) if b == '1'] for n in range(2 ** len(nums))]
刘润森!
认证博客专家
Python
Java
前端
17年就读于东莞XX学院化学工程与工艺专业,GitChat作者。Runsen的微信公众号是"Python之王",因为Python入了IT的坑,从此不能自拔。公众号内容涉及Python,Java计算机、杂谈。干货与情怀同在。喜欢的微信搜索:「Python之王」。个人微信号:RunsenLiu。不关注我公号一律拉黑!!!