递归法:计算m个A,n个B可以组合成多少种排列问题?

问题:计算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种
在这里插入图片描述

发布了65 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gl620321/article/details/104301299