다시 법 Leetcode -78의 항목을 참조하십시오. 서브 세트 (서브 세트)
아니오 반복 정수 어레이 요소들의 세트가 지정 nums을 모든 가능한 부분 집합 (멱 집합)의 배열을 반환한다.
설명 : 솔루션 세트는 중복 부분 집합을 포함 할 수 없습니다.
예 :
입력 : nums의 = [1,2,3] 출력 : [ [3] [1], [2], [2,3], [1,3], [2,3], [1,2 ], [] ]
분석 :
이 질문은 질문의 배열, 역 추적의 아주 기본적인 질문에 관한 것입니다, 그 (빈 세트를 포함)의 서브 세트를 부탁드립니다.
AC 코드 :
클래스 해결 { 목록 <일람 <정수 >> ANS = 새로운 ArrayList를 <> (); 공개 목록 <일람 <정수 >> 서브 세트 ( 값 int []를 nums) { INT [] = 힘 새로운 INT [nums.length]; DFS (nums, 새로운 ArrayList에 <정수> (), 0 ); 반환 ANS를; } 공공 공극 DFS ( INT의 nums []의 ArrayList <정수>에서, INT 된 공정) { 경우 (단계 == nums.length) { ans.add ( 새로운 ArrayList를 <> (목록)); 반환 ; } 에는 list.add (nums [공정]); DFS (nums 목록, 단계 1 ); list.remove (는 list.size () -1 ); DFS (nums 목록, 단계 1 ); } }