热度指数:96595
题目描述
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
时间限制:1秒 空间限制:32768K
知识点
循环与递归
思路
同跳台阶,斐波那契数列
代码(java)
运行时间: 12 ms 占用内存:8408K
public class Solution {
public int RectCover(int target) {
if(target < 0)
return -1;
if(target <= 2)
return target;
int f1 = 1;
int f2 = 2;
for(int i = 3; i <= target; i++){
f2 += f1;
f1 = f2 - f1;
}
return f2;
}
}