您的位置:首页 > 其它

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

2017-10-30 00:00 211 查看

题目描述:

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

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

同样是求取有多少种方法的,同样采取分割的思想,将整体无线化为小,化到能确定,只有 几种方法,否则继续化小。

根据题目 完全可以化成青蛙跳台阶的题目, 2*1的大矩形,只有1种覆盖方法, 2*2 的有2种覆盖方法。

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

具体可以看青蛙跳怎么想的。直接写代码了:

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);
}

换汤不换药。。。解法一样。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息