public class PermutationUtil
extends java.lang.Object
Constructor and Description |
---|
PermutationUtil() |
Modifier and Type | Method and Description |
---|---|
private static void |
buildPermutations(int maxLevel,
java.util.List<java.lang.Integer> baseNumList,
java.util.Collection<java.util.List<java.lang.Integer>> numListCol,
java.util.List<java.lang.Integer> residualList,
int residualCount)
Recursively builds permutations of numbers specified by the base num
list.
|
private static void |
filterNonIncreasingLists(java.util.Collection<java.util.List<java.lang.Integer>> numListCol)
Filters the number lists such that only lists with increasing numbers are
kept.
|
private static void |
getLinearPermutations(java.util.Collection<java.util.List<java.lang.Integer>> permutations,
java.util.List<java.lang.Integer> plusList,
java.util.List<java.lang.Integer> numList)
Recursively builds permutations from the number list.
|
static java.util.Collection<java.util.List<java.lang.Integer>> |
getLinearPermutations(java.util.List<java.lang.Integer> numList)
Gets a collection of lists, each list represents a single permutation.
|
private static java.util.Collection<java.util.List<java.lang.Integer>> |
getNumLists(int maxLevel,
java.util.List<java.lang.Integer> baseNumList) |
static java.util.List<java.util.List<java.lang.Integer>> |
getPermutationList(int maxLevel)
Gets all permutations for the given level and all sub-levels.
|
public static java.util.List<java.util.List<java.lang.Integer>> getPermutationList(int maxLevel)
maxLevel
- -private static java.util.Collection<java.util.List<java.lang.Integer>> getNumLists(int maxLevel, java.util.List<java.lang.Integer> baseNumList)
private static void filterNonIncreasingLists(java.util.Collection<java.util.List<java.lang.Integer>> numListCol)
numListCol
- -private static void buildPermutations(int maxLevel, java.util.List<java.lang.Integer> baseNumList, java.util.Collection<java.util.List<java.lang.Integer>> numListCol, java.util.List<java.lang.Integer> residualList, int residualCount)
maxLevel
- -baseNumList
- -numListCol
- -residualList
- -residualCount
- -public static java.util.Collection<java.util.List<java.lang.Integer>> getLinearPermutations(java.util.List<java.lang.Integer> numList)
numList
- -private static void getLinearPermutations(java.util.Collection<java.util.List<java.lang.Integer>> permutations, java.util.List<java.lang.Integer> plusList, java.util.List<java.lang.Integer> numList)
permutations
- -plusList
- -numList
- -