列举出给定数量的字符的所有组成情况-java实现

Posted hetutu-5238

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列举出给定数量的字符的所有组成情况-java实现相关的知识,希望对你有一定的参考价值。

老早以前刚学程序的时候碰到了这么个问题,当时没想出来,今天突然想起来了这么个问题于是写了下,也算留个纪念吧

 1    public static String itr;
 2 
 3     public static void main(String[] args) {
 4         String s = "abcd";
 5         printGroup(s);
 6     }
 7 
 8     public static void printGroup(String in){
 9         itr = in;
10         for (int i = 0; i < itr.length() ; i++) {
11             String c = itr.charAt(i)+"";
12             String low = itr.substring(0,i)+itr.substring(i+1);
13             print(c,low);
14             System.out.println();
15         }
16     }
17     public static String cutStr(String cut){
18         char[] sa = itr.toCharArray();
19         char[] ca = cut.toCharArray();
20         int k = sa.length-ca.length;
21         char[] str = new char[k];
22         int i = 0;
23         A:for (char s : sa) {
24             for (char c : ca) {
25                 if(s==c){
26                     continue A;
27                 }
28             }
29             str[i++] = s;
30             if(i==k){
31                 break ;
32             }
33         }
34         return new String(str);
35     }
36 
37     private static void print(String c,String str){
38         for (int i = 0; i < str.length(); i++) {
39             String s = c + str.charAt(i);
40             System.out.print(s+" ");
41             print(s,cutStr(s));
42         }
43     }

 

如果输入为abcd,结果则为

ab abc abcd abd abdc ac acb acbd acd acdb ad adb adbc adc adcb 
ba bac bacd bad badc bc bca bcad bcd bcda bd bda bdac bdc bdca 
ca cab cabd cad cadb cb cba cbad cbd cbda cd cda cdab cdb cdba 
da dab dabc dac dacb db dba dbac dbc dbca dc dca dcab dcb dcba 

 

以上是关于列举出给定数量的字符的所有组成情况-java实现的主要内容,如果未能解决你的问题,请参考以下文章

5.16 0左边必有1的二进制字符串数量

java面试题:如果一串字符如"aaaabbc中国1512"要分别统计英文字符的数量,中文字符的数量,和数字字符的数量,假设字符中没有中文字符英文字符数字字符之外的其他特殊字符(代

在给定二进制 MxN 矩阵和切换列的能力的情况下最大化行相同性?

华为OD机试 -字符串分割(Java) | 机试题+算法思路+考点+代码解析 2023

华为OD机试 -字符串分割(Java) | 机试题+算法思路+考点+代码解析 2023

给定 NDV(不同值的数量)的最佳索引组合