我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
开始读错题目要求,以为是要覆盖n*n的大矩形。。。
其实这道题和前面的跳台阶问题一模一样,对于行来说,每次可以增加一行或者两行。
感觉牛客网上的连续这几道题出的太重复了。
public class Solution {
public int RectCover(int n) {
if (n<=2) return n;
int a =1;
int b =2;
int c = 0;
for(int i=3;i<=n;i++){
c = a+b;
a = b;
b = c;
}
return c;
}
}