蓝桥杯常用算法知识点:【递归】m个A与n个B的全排列个数

来源:互联网 发布:淘宝上的宝贝怎么上架 编辑:程序博客网 时间:2024/06/10 02:34
m个A与n个B的全排列个数

package com.aiqiongdiao;public class Main {public static int g(int m,int n){if(m==0||n==0){    //出口:不断降,总会为0return 1;   //为一种情况,m与n之间没有大小约束}return g(m-1,n)+g(m,n-1); }public static void main(String[] args) {System.out.println(g(3,2));}}















要去n个球中取m区分开来!!也要与n个元素的全排列区分开!


与【n个球中取m个】的区别:
1.n个球题中        return f(n-1,m-1) + f(n-1,m);  是模拟出一个不存在的红球,取不取红球端对n都有影响
2.n个球题中   m与n之间有数量的关系,n不能小于m, n==m时返回一种情况(一样存在m减到0)


与【n个元素的全排列】的区别:
1.n个元素题中   元素很多,而此题只有2个,元素很多的情况下,只要移动一次就是一种情况
2.n个元素题中   使用的是指定头个元素与第k个元素交换位置。元素要求:一个循环+一个k指标
for中: f(data,k+1);  
0 0
原创粉丝点击