题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
Solution:
这道题目和跳台阶是一样的,因为对于n*2的大矩形来说,它其实就相当于n个台阶,然后小矩形是2*1,可以竖着填充大矩形,也可以横着填充大矩形。不管是竖着还是横着,每次只能相当于是填充一次,因为横竖不可能混着放。
CODE:
public class Solution {
public 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);
}
}