1.字符串(长度为m)取n(n<=m)个字符的组合算法
2.给定任意字符串,求排列算法
3.2个字符串,如a和b,在a和b中取任意组合的子串a1和b1组合成新的字符串

解决方案 »

  1.   

    p(m,n)是一共有多少种排列方法,而你有说:有重复字符的字符串的所有排列,这两个不是一回事,你到底要什么?列出所有排列还是计算排列的个数?
      

  2.   

    一个字符串,求它的排列P(String s,int i)
    0<=i<=s.length()
      

  3.   

    我知道啊
    先把这String转换成char[]
    然后对其中的字符进行排列组合我的思路是让这些字符依次进栈,然后考察不同的出栈顺序
    所有的出栈顺序就是所有可能的组合
      

  4.   

    to  jFresH_MaN(absoluteFresh)
    怎么写代码?
      

  5.   

    我写个大概的
    import java.util.stack;
    String str="abcd";
    char []ch=str.toCharArray();
    Stack s=new Stack();
    for(int i=0;i<ch.lenth;i++) {
    /////s.push(char[i]);依次入栈
    ////s.pop();出栈
    }
    每次在入栈和出栈操作中选一个,还要记得操作一次后要回滚,这样就得到了所有的出栈顺序
    写代码太烦了,楼主自己研究一下吧
      

  6.   

    to  jFresH_MaN(absoluteFresh)
    请把你的思想在叙述一次,详细点.
    排列呢?
      

  7.   

    我的表达能力不太好,可能没说清楚,但我也只能说成这样了
    排列只要把出栈的字符存入另一个字符串
    StringBuffer sb=new StringBuffer();
    sb.append((char)s.pop());