[LC] 90 서브 세트 II

중복 포함될 수 있습니다 정수의 집합을 감안할 때  nums를 모든 가능한 부분 집합 (전원 설정)을 반환합니다.

참고 :이 솔루션 세트는 중복 하위 집합을 포함 할 수 없습니다.

예:

입력 : [1,2,2-] 
출력 : 
[ 
  [2] 
  [1], 
  [1,2,2-], 
  [2,2], 
  [1,2], 
  [] 
]

클래스 솔루션 (객체)
     DEF subsetsWithDup (자기, nums)
         "" " 
        : 입력 nums리스트 [INT] 
        : RTYPE리스트는 [리스트 [INT] 
        " "" 
        입술, LST는 = [] []
         경우 nums가 있다 유료 또는 LEN (nums) == 0
             복귀 입술 
        nums.sort () 
        self.dfs은 (nums, 0, LST가 입술) 
        반환 입술 
    
    DEF DFS (자기, nums 레벨, LST, 고해상도)
         의 경우 레벨 == LEN (nums) 
            res.append (리스트 (LST)) 
            복귀 
        lst.append (nums [수준]) 
        self.dfs (nums, 수준+ 1 , LST는 입술) 
        lst.pop () 

        # 1 숯을 첨가 한 후, 다음과 같은 일을 이동 
        하면서 레벨 <LEN (nums) - 1  nums [수준] == nums [레벨 + 1 ] 
            레벨 + = 1 
        self.dfs (nums 레벨 + 1 , LST, 해상도)
        

 

추천

출처www.cnblogs.com/xuanlu/p/11711339.html