题目链接:https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?tpId=13&tqId=11163&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
题目描述
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
解决方法
斐波那契数列
class Solution {
public:
int jumpFloor(int number) {
if(number<=0) return 0;
int f1=1,f2=2,ans;
if(number==1) return f1;
if(number==2) return f2;
for(int i=3;i<=number;i++){
ans=f1+f2;
f1=f2;
f2=ans;
}
return ans;
}
};