zoukankan      html  css  js  c++  java
  • 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列表了。
  • 相关阅读:
    [hihocoder1509][异或排序]
    [hdu6148][Valley Numer]
    [hdu2089][不要62]
    [luoguU42591][小T的绝对值]
    [luogu2073][送花]
    [bzoj4709][柠檬]
    [luogu2114][起床困难综合症]
    [codevs3342][绿色通道]
    [luoguU42591][小T的面试题]
    [noip][2014]
  • 原文地址:https://www.cnblogs.com/ChevisZhang/p/12237203.html
Copyright © 2011-2022 走看看