LeetCode:78. 子集90. 子集 II

Posted 南岸青栀*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:78. 子集90. 子集 II相关的知识,希望对你有一定的参考价值。

78. 子集

在这里插入图片描述

法1:迭代法

class Solution:
    def subsets(self, nums: List[int]) -> List[List[int]]:
        #迭代法
        res = [[]]
        for i in nums:
            res = res + [[i] + num for num in res]
        return res

法2:递归法

class Solution:
    def subsets(self, nums: List[int]) -> List[List[int]]:
        #递归法
        res = []
        def rescursion(i,tmp):
            res.append(tmp)
            print(res)
            for j in range(i,len(nums)):
                rescursion(j+1,tmp + [nums[j]])
        rescursion(0,[])    
        return res

90. 子集 II

在这里插入图片描述

法1:迭代法

class Solution:
    def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
        res = [[]]
        nums.sort()
        for i in nums:
            for num in res:
                print(res)
                if [i] + num not in res:
                    res = res + [[i] + num]
        return res

法2:递归法

class Solution:
    def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
        res = []
        nums.sort()
        def rescursion(i,tmp):
            if tmp not in res:
                res.append(tmp)
            for j in range(i,len(nums)):
                rescursion(j+1,tmp + [nums[j]])
        rescursion(0,[])
        return res

以上是关于LeetCode:78. 子集90. 子集 II的主要内容,如果未能解决你的问题,请参考以下文章

90. 子集 II

LeetCode 90. 子集 II(Subsets II)

[leetcode] 90. 子集 II.md

力扣算法JS LC [78. 子集] LC [90. 子集 II]

Leetcode 90. 子集 II dfs

力扣90——子集 II