矩形覆盖
题目描述
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
思路
斐波那契数的应用
public class Solution {
public int RectCover(int target) {
if(0 == target){
return 0;
}else if(1 == target){
return 1;
}else if(2 == target){
return 2;
}else {
int f[] = new int[ target+1 ];
f[1] = 1;
f[2] = 2;
for(int i = 3; i < target + 1; i++){
f[i] = f[i-1] + f[i-2];
}
return f[target];
}
}
}