矩形覆盖-----批了外皮的亲蛙跳

题目描述:

咱们能够用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?java

这个题目有点相似于亲蛙跳的那个题目。spa

一样是求取有多少种方法的,一样采起分割的思想,将总体无线化为小,化到能肯定,只有 几种方法,不然继续化小。code

 

根据题目  彻底能够化成青蛙跳台阶的题目,  2*1的大矩形,只有1种覆盖方法,  2*2 的有2种覆盖方法。get

无非就是 1阶台阶是 1种跳法, 2阶台阶是 2种跳法。。class

具体能够看青蛙跳怎么想的。直接写代码了:方法

public static int RectCover(int target) {
		 if(target==0){
			 return 0;
		 }
		 if(target==1){
			 return 1;
		 }
		 if(target==2){
			 return 2;
		 }
		 return RectCover(target-1)+RectCover(target-2);
	 }

换汤不换药。。。解法同样。。static

相关文章
相关标签/搜索