题目描述
矩形覆盖:用2x1的小矩形横着竖着去覆盖更大的矩形,请问用n个2x1的小矩形去覆盖一个2xn的大矩形,共有多少种方法?
题目分析
此题跟LeetCode题8的解题方法其实是一样的,都是用1或者2表示n,
表示方法共有几种
根据分析,得出
f(n) = f(n-1)+f(n -2),f(1)=1,f(2)=2
*代码实现(Java)
public int rectCover(int n){
int sum = 1;
int temp = 1;
if (n == 0)return 0;
if (n == 1)return temp;
for (int i = 2; i <= n ; i++) {
sum = sum + temp;
temp = sum - temp;
}
return sum;
}