一、題目描述
我們可以用21的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?
輸入:一個整數n
輸出:覆蓋方法種數
二、思路分析
思路和斐波那契數列類似。但f(1) = 1, f(2) = 2。
三、實現代碼
public class Solution {
public int RectCover(int n) {
if(n <= 0){
return 0;
}
if(n == 1){
return 1;
}
int oneTemp = 1;
int twoTemp = 1;
for (int i = 2; i <= n; i++) {
int temp = oneTemp + twoTemp;
oneTemp = twoTemp;
twoTemp = temp;
}
return twoTemp;
}
}