78. 子集
Posted cheviszhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了78. 子集相关的知识,希望对你有一定的参考价值。
这也是一题递归的题,我仿照87.grayCode 那题编写的代码
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
if not nums:
return []
res = []
def getList(L,length):
if length == len(nums)-1:
res.append(L)
else:
length += 1
getList(L + [nums[length]],length)
getList(L,length)
getList([],-1)
return res
顶层:
每次都可以选择将 第n位元素加入list 或 不加入List 并且 n++,这样n的每一次取值会延续出两个list 就会廊阔所有的选择
底层:
当n == len(nums)-1的时候,所有的选择都遍历了一遍,就可以把它装入result列表了。
以上是关于78. 子集的主要内容,如果未能解决你的问题,请参考以下文章