时间限制:1秒空间限制:32768K
通过比例:31.95%
最佳记录:0 ms|8552K (来自 左小右)
题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
解析:
和跳台阶一模一样,每次加二或加一。
http://blog.csdn.net/u010456484/article/details/48290009
代码:
class Solution {
public:
int rectCover(int number) {
return Fibonacci(number + 1);
}
private:
int Fibonacci(int n) {
if(n == 0 ) {
return 0;
}
else if(n == 1) {
return 1;
}
else {}
int a = 0, b = 1, num, i;
for(i = 2; i <= n; i++) {
num = a + b;
a = b;
b = num;
}
return num;
}
};