毎日の問題--- LeetCode(78)のサブセット

すべての可能なサブセット(パワー設定)の配列を返しない繰り返し要素整数配列NUMSのセット、与えられました。
入力:NUMS = [1,2,3]
出力

[ [3]、
  [1]、
  [2]、
  [2,3]、
  [1,3]、
  [2,3]、
  [1,2 ]、
  []
]

クラスソリューション:
     回溯法
    DEF サブセット(自己、NUMS):        
         もし ないNUMS:
             戻り[] 
        RES = [] 
        N = LEN(NUMS)

        デフヘルパー(IDX、temp_list):
            res.append(temp_list)
             I における範囲( IDX、N):
                ヘルパー(I + 1、temp_list + [NUMS [I])

        ヘルパー(0、[])
        戻り RES

LeetCode(90)サブセット2

所与の整数NUMSの配列は、すべての可能なサブセット(パワー設定)の配列を返す、重複する要素を含んでいてもよいです。
説明:ソリューションセットの重複サブセットを含めることはできません。
入力:[1,2,2]
出力

[ [2]、
[1]、
[1,2,2]、
[2,2]、
[1,2]、
[]
]

クラスソリューション:
    
    デフsubsetsWithDup1(自己、NUMS):
         もし ないNUMS:
             戻り[] 
        N = LEN(NUMS)
        RES = [] 
        nums.sort() 
        思路2 
        デフhelper2(IDX、temp_list):
            res.append(temp_list)
             I における範囲(IDX、N):
                 もし I> IDX    NUMS [I] == NUMS [I - 1 ]:
                     続ける
                helper2(I + 1、temp_list + [NUMS [I])

        helper2(0、[] )
        リターン RES

 

おすすめ

転載: www.cnblogs.com/fighting25/p/11494788.html