从ABCDE中取出三个的可能结果


 1 public class 从ABCDE中取出三个的可能结果 {
 2     // 从ABCDE中取出三个的可能结果(不进行排列)
 3     static List f(String s, int k) {
 4         List lis = new Vector();
 5         if (k == 0) {
 6             lis.add("");
 7             return lis;
 8 
 9         }
10         for (int i = 0; i < s.length(); i++) {
11             char x = s.charAt(i); // 取出字母
12             List t = f(s.substring(i + 1), k - 1);// 递归调用 取子串
13             for (int m = 0; m < t.size(); m++) {
14                 lis.add("" + x + t.get(m));
15             }
16         }
17         return lis;
18     }
19 
20     public static void main(String[] args) {
21         String s = "ABCDE";
22         List list = f(s, 3);
23         for (int i = 0; i < list.size(); i++) { // 输出可能结果
24             System.out.println(list.get(i));
25         }
26     }
27 
28 }

 


posted @ 2020-03-04 19:04  浪~子  阅读(321)  评论(0编辑  收藏  举报