ブラシタイトルLeetCodeノート - 後戻り - 問題の組み合わせの合計

件名の説明:

「問題の和の組み合わせは」非反復配列要素の候補と目標数の目標を考えると、そのターゲット番号との組み合わせのためのすべての候補者を見つけることができます。

候補者の無制限番号が繰り返され、選択することができます。

出典:滞在ボタン(LeetCode)
リンクします。https://leetcode-cn.com/problems/combination-sum

Javaコードの実装

    パブリック静的リスト<リスト<整数>> combinationSum(INT []の候補、INT  ターゲット){
     リスト
<リスト<整数>>結果は= 新規のArrayList <> (); Arrays.sort(候補); // 升序排序、便于剪枝 combine2(その結果、新しいのArrayList <>()、候補者、ターゲット、0 ); 戻り値の結果; }
パブリック 静的 ボイド combine2(一覧<一覧<整数>>結果、一覧<整数> TEMP、値int []の候補、int型のターゲットは、INT 開始){ 場合(目標== 0 ){ 結果。ArrayList <> (TEMP))。 返します } のためにint型のI =始める; iは<candidates.length &&ターゲット候補を[I]> = 0; iは++ ){ temp.add(候補[I])。 combine2(その結果、TEMP、候補ターゲット - 候補[i]は、I)。 temp.remove(temp.size() -1 )。 } }

 

おすすめ

転載: www.cnblogs.com/sqchao/p/11069464.html