如果我有一个字符串,例如“ABCDE”,获得两者组合的最佳方法是什么?是否有用于此类任务的 API?
即
- “AB”
- “AC”
- “AD”
- “AE”
- “公元前”
- “BD”
- "is"
- “CD”
- “CE”
- “DE”
最佳答案
private static List<String> getCombinations(String input) {
ArrayList<String> result = new ArrayList<String>();
int len = input == null ? 0 : input.length();
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
String combination = String.valueOf(input.charAt(i))
+ input.charAt(j);
System.out.println("adding: " + combination);
result.add(combination);
}
}
return result;
}
生成 getCombinations("ABCDE");
adding: AB
adding: AC
adding: AD
adding: AE
adding: BC
adding: BD
adding: BE
adding: CD
adding: CE
adding: DE
关于java - Java中如何获取不同的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10210085/