LeetCode 46順列(完全配列)

トピックタグ:バックトラック

  DFSを使用して、tempListを確立し、各番号に加え再帰。

  数字はデジタルtempList特定の外観コードをチェックスキップの使用に、同じではありませんので。

 

Javaのソリューション: 

ランタイム:1ミリ秒、より速くより92.59パーセント 

メモリ使用率:41.5メガバイト未満5.68 

完了日:2019年11月8日

キーポイント:重複する数字はありません

クラスのソリューション{ 
    
    リスト <リスト<Integer型>> RES。
    
    公衆リスト<リスト<整数>>並び替える(INT [] NUMS){ 
        RES = 新規のArrayList <> (); 
        一覧 <整数> tempList = 新しい ArrayListを<> ();
        // のArray.sort(NUMS)。
        DFS(NUMS、tempList)。
        
        リターンのres; 
    } 
    
    プライベート ボイド DFS(INT [] NUMS、一覧<整数> tempList){
         場合(tempList.size()== nums.length){ 
            res.add(ArrayList <> (tempList))。
            リターン; 
        } 
        
        ためintは I ++; I <nums.length I = 0 ){
             場合(tempList.contains(NUMS [I]))// この数が既に存在する場合、それをスキップします。
                続け; 
            
            tempList.add(NUMS [I])。
            DFS(NUMS、tempList)。
            tempList.remove(tempList.size() - 1 )。
        } 
    } 
}

参考:LeetCode話し合います

LeetCodeタイトルリスト-  LeetCode質問一覧

トピック出典ます。https://leetcode.com/

おすすめ

転載: www.cnblogs.com/jimmycheng/p/12446558.html