题目描述:
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
解题思路:
首先,我们可知n=1时:方法只有一种;
n=2时:方法有两种;
而n>2时,如下图所示可知(设覆盖2*n的大矩形的方法是总共有sun(n)种,则sun(n)=sun(n-1)+sun(n-2)...)
代码:
public class Solution {
public int RectCover(int target) {
int res=0;
if(target==1){
res=1;
}
if(target==2){
res=2;
}
if(target>2){
res=RectCover(target-1)+RectCover(target-2);
}
return res;
}
}