10.矩形覆盖–核心也是斐波那契数列
用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?
考虑这以下几种情形:
public class Solution {
public int RectCover(int n) {
int fn1=1;
int fn2=2;
int fn=0;
if(n<1) return 0;
if(n==1||n==2){
return n;
}
for(int i=3;i<=n;i++){
fn=fn1+fn2;
fn1=fn2;
fn2=fn;
}
return fn;
}
}
二刷:主要还是需要分析出规律变化
f1=1;
f2=2;
f3=3=f1+f2;
f4=5=f2+f3;
…
fn=fn-2+fn-1;