Leetcodeトピック78サブセット(バック - ミディアム)

件名の説明:

無反復整数配列要素の組所与  NUMSをすべての可能なサブセット(パワー設定)の配列を返し、。

説明:ソリューションセットの重複サブセットを含めることはできません。

例:

入力:NUMS = [1,2,3] 
出力
  [ [3]、
  [1]、
  [2]、
  [2,3]、
  [1,3]、
  [2,3]、
  [1 、2]、
  [] 
]

トピック分析:バックトラッキングプロセスは、最後に移動するための方法を深さ優先探索を実行することで、戻さ行き止まり、引き続き、あなたが開始点に戻るまで、このように続けます。

コードの実装:

  クラスソリューション{ 
        パブリック静的リスト<リスト<整数>>サブセット(INT [] NUMS){ 
        リスト<リスト<整数>> RES =新規のArrayList <>(); 
        バックトラック(0、NUMS、解像度、新しいのArrayList <>()); 
        解像度を返します。

    } 

    プライベート静的ボイドバックトラック(INT I、INT [] NUMS、リスト<リスト<整数>> RES、のArrayList <整数> TMP){ 
        res.add(新規のArrayList <>(TMP))。
        用(INT J = I; J <nums.length; J ++){ 
            tmp.add(NUMS [J])。
            バックトラック(J + 1、NUMS、RES、TMP)。
            tmp.remove(tmp.size() - 1)。
        } 
    } 
}

おすすめ

転載: www.cnblogs.com/ysw-go/p/11815058.html