fork download
  1. import java.util.*;
  2. class Ideone {
  3.  
  4. public static List<String> generateAbbreviations(String prefix, String station, int length, List acc) {
  5. for (int i = 0; i < station.length(); i++) {
  6. String c1 = prefix.concat(Character.toString(station.charAt(i)));
  7. if(length > 1) {
  8. generateAbbreviations(c1, station.substring(i + 1), length - 1, acc);
  9. } else {
  10. acc.add(c1);
  11. }
  12.  
  13. }
  14.  
  15. return acc;
  16. }
  17.  
  18.  
  19. public static void main (String[] args) {
  20. String station = "KARLBERG";
  21. List<String> ret = new ArrayList<>();
  22. List<String> alternatives = generateAbbreviations("", station, 4, ret);
  23. System.out.println(alternatives);
  24.  
  25. }
  26. }
Success #stdin #stdout 0.06s 2841600KB
stdin
Standard input is empty
stdout
[KARL, KARB, KARE, KARR, KARG, KALB, KALE, KALR, KALG, KABE, KABR, KABG, KAER, KAEG, KARG, KRLB, KRLE, KRLR, KRLG, KRBE, KRBR, KRBG, KRER, KREG, KRRG, KLBE, KLBR, KLBG, KLER, KLEG, KLRG, KBER, KBEG, KBRG, KERG, ARLB, ARLE, ARLR, ARLG, ARBE, ARBR, ARBG, ARER, AREG, ARRG, ALBE, ALBR, ALBG, ALER, ALEG, ALRG, ABER, ABEG, ABRG, AERG, RLBE, RLBR, RLBG, RLER, RLEG, RLRG, RBER, RBEG, RBRG, RERG, LBER, LBEG, LBRG, LERG, BERG]