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]]
注意事項
- (を含むすべての値
target
)は正の整数です。 - リターンの各組み合わせの数字は、非降順でなければなりません。
- すべての組み合わせの中に戻るには、どのような順序であってもよいです。
- ソリューションセットは、重複の組み合わせを含めることはできません。
クラスのソリューション: 「」「 @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]]
解释: 解集不能包含重复的组合
注意事項
- 同一の組み合わせでは、
num
数値のそれぞれは、一度だけ使用することができます。 - (を含むすべての値
target
)は正の整数です。 - リターンの各組み合わせの数字は、非降順でなければなりません。
- すべての組み合わせの中に戻るには、どのような順序であってもよいです。
- ソリューションセットは、重複の組み合わせを含めることはできません。
クラスのソリューション: 「」「 @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