| Код | import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List;
public class Combinations { public static final int COMBINATION_COUNT = 4;
public static void main(String[] args) throws IOException { String[] tokens = {"a", "b", "c", "d", "e", "f", "g"}; System.out.println("Tokens: " + Arrays.toString(tokens));
System.out.println("Combinations:"); for (String token : getCombinations(tokens, 0, COMBINATION_COUNT)) { System.out.println(" " + token); } }
private static String[] getCombinations(final String[] tokens, final int from, final int combinationCount) { if (combinationCount == 1) { return Arrays.copyOfRange(tokens, from, tokens.length); } else { List<String> combinations = new ArrayList<String>(); for (int i = from; i < tokens.length; i++) { String token = tokens[i]; String[] subCombinations = getCombinations(tokens, i, combinationCount - 1); for (String subCombination : subCombinations) { combinations.add(token + subCombination); } } return combinations.toArray(new String[combinations.size()]); } } }
|
|