有趣算法-a到z所有组合情况,期待斧正

来源:互联网 发布:热云数据 编辑:程序博客网 时间:2024/03/29 17:32

题目:有趣算法-a到z所有组合情况,不管顺序,不存在重复.

我的想法:

  1. 利用26位来标记a-z字母
  2. int totalLen:总情况数为26个1->{111…111}
  3. 遍历总totalLen,输出情况:
  4. 代码:
int a = 1;int b = a<<1;int c = a<<2;...int z = a<<25;int totalLen = 0;//将a-z标记放入数组中;int allCs[] = new int[26];char cs[] = new char[]{'a',...,'z'};for(int i=0;i<26;i++){    allCs[i]=(1<<(i));}//计算总totalLenfor (int i = 1, i<26,i++) {    int totalLen |= allCs[i];}//先空出一行,为了美观System.out.println();//开始打印for (int i = 1; i<totalLen;i++) {    for(int j=0;j<26;j++){        //i化成2进制,对应位置上的字母情况打印        if((i&allCs[j])!=0) {            System.out.print(cs[j]);        }    }    //输出完一种组合,换行    System.out.println();}
0 0