問題の性質上、DFS --path合計は、問題の組み合わせです(ディエンファシスがあります)

135番号の組み合わせ

中文
英語

候補デジタルの集合が与えられるcandidatesと、ターゲットtargetが見つかりcandidates、すべてとのためtargetの組み合わせ。

同じの組み合わせでは、candidates無制限の数で表示されます。

サンプル

例1:

输入: candidates = [2, 3, 6, 7], target = 7
输出: [[7], [2, 2, 3]]

サンプル2:

输入: candidates = [1], target = 3
输出: [[1, 1, 1]]

注意事項

  1. (を含むすべての値target)は正の整数です。
  2. リターンの各組み合わせの数字は、非降順でなければなりません。
  3. すべての組み合わせの中に戻るには、どのような順序であってもよいです。
  4. ソリューションセットは、重複の組み合わせを含めることはできません。
クラスのソリューション:
    「」「
    @param候補:整数のリスト
    整数:@param対象
    @return:整数のリストのリスト
    『』」
    DEF combinationSum(自己、候補者、ターゲット): ここにあなたのコードを書く
        [=結果] 
        self.dfs(ソート(リスト(セット(候補)))、ターゲット、その結果、パス= []、START_INDEX = 0)
        戻り結果
    
    DEF DFS(自己、NUMS、目標、結果、経路、START_INDEX):
        もしターゲット= = 0とパス:
            result.append(リスト(パス))
        
        場合、ターゲット<0:
            リターン
        
        範囲のiについて(START_INDEX、LEN(NUMS)):
            path.append(NUMS [i])と
            self.dfs(NUMS、ターゲットNUMS [i]が、その結果、経路、I)
            path.pop()

 

153数字IIの組み合わせ

中文
英語

配列を考えるnumと整数target。検索numの合計のためのすべての数字targetのポートフォリオを。

サンプル

例1:

输入: num = [7,1,2,5,1,6,10], target = 8
输出: [[1,1,6],[1,2,5],[1,7],[2,6]]

サンプル2:

输入: num = [1,1,1], target = 2
输出: [[1,1]]
解释: 解集不能包含重复的组合

注意事項

  1. 同一の組み合わせでは、num数値のそれぞれは、一度だけ使用することができます。
  2. (を含むすべての値target)は正の整数です。
  3. リターンの各組み合わせの数字は、非降順でなければなりません。
  4. すべての組み合わせの中に戻るには、どのような順序であってもよいです。
  5. ソリューションセットは、重複の組み合わせを含めることはできません。
クラスのソリューション:
    「」「
    @param NUM:候補番号が与えられ
    @param目標:目標数を考えると
    @return:合計が対象とするすべての組み合わせ
    『』」
    DEF combinationSum2(自己、NUMS、ターゲット): ここにあなたのコードを書きます
        結果= [] 
        self.dfs(ソート(NUMS)、目標、結果、パス= []、START_INDEX = 0)
        戻り結果
     
    DEF DFS(自己、NUMS、目標、結果、経路、START_INDEX):
        ターゲット== 0の場合とパス:
            result.append(リスト(パス))
         
        場合、ターゲット<0:
            リターン
         
        範囲(START_INDEX、LEN(NUMS))におけるiについて:
            もしI> 0とNUMS [I] == NUMS [I-1]及びI> START_INDEX:
                持続する
            path.append(NUMS [i])と
            self.dfs(NUMS、ターゲットNUMS [i]が、その結果、経路、I + 1) 
            )(path.pop

 

おすすめ

転載: www.cnblogs.com/bonelee/p/11668915.html