ArrangementAndCombination
本文整理排列组合相关的算法,包含各类可能存在的附加条件。相关列题参考Leetcode的combination sum
以及subset
系列。
combination
给定的数据不含重复,但每个数字可以重复使用。
1 | public List<List<Integer>> combinationSum(int[] candidates, int target) { |
1 | Input: candidates = [2,3,5], target = 8 |
combination II
给定的数据含有重复的,且每个数字只能使用一次。
1 | public List<List<Integer>> combinationSum2(int[] candidates, int target) { |
combination III
只使用1~9的数字,每个数字用一次,给定变量k
(表示组合中数字的个数)和变量n
(表示组合中数字的和),求符合要求的组合。
1 | public List<List<Integer>> combinationSum3(int k, int n) { |
subset
1 | public List<List<Integer>> arrangement(int[] nums) { |