蓝桥杯常用算法知识点:【递归】m个A与n个B的全排列个数
2016-03-16 21:12
323 查看
m个A与n个B的全排列个数
要去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);
package com.aiqiongdiao; public class Main { public static int g(int m,int n){ if(m==0||n==0){ //出口:不断降,总会为0 return 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);
相关文章推荐
- chromium截图实现
- 贪吃——1000 移动桌子
- qt Qcompleter自动补全类
- Hadoop集群(第6期)_WordCount运行详解
- 态度
- mysql索引的类型和优缺点
- 采药
- NSURLConnection的使用
- [code]字母重排
- BestCoder Round #65 B C D || HDU 5591 5592 5593
- 求一个数二进制1的中
- 九度题目1163素数
- SPARK 使用Java 在IDE中实战RDD和DataFrame动态转换操作
- CodeForces 148A Insomnia cure
- UESTC 1146 秋实大哥与连锁快餐店
- ListView中Item与Button、CheckBox冲突
- 寻找生命的方向终究要靠自己
- 第二周作业
- sed 工具简介
- 剑指offer 重建二叉树