題目描述
我們可以用2*1的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?
class Solution {
public:
int rectCover(int number) {
if(number < 0) {
return -1;
}else if(number == 0) {
return 0;
}else if(number == 1) {
return 1;
}else if(number == 2){
return 2;
}
int p = 1, q = 2, target;
for(int i = 3; i <= number; i++) {
target = p + q;
p = q;
q = target;
}
return target;
}
};