问题:计算m个A,n个B可以组合成多少种排列问题?
假设:计算3个A,2个B可以组合成多少种排列问题?
举例:AAABB BABAA…
方法:采取分割思想将第一个与后面的分开,划分为两部分,变得好解决
第一个字母为A时f(m-1,n)
第一个字母为B时f(m,n-1)
package pailie;
public class Pai {
public static int f(int m,int n) {
if(m==0 || n==0)
return 1;
return f(m-1,n)+f(m,n-1); //第一个字母为A时f(m-1,n);第一个字母为B时f(m,n-1)
}
public static void main(String[] args) {
System.out.println(f(5,4));
}
}
当A=5,B=4时结果为126种