题目描述:可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
分析:
1、当 n=1时候,result = 1;
2、当 n =2时候,result = 2
3、当n=3时候,result = 3
继续往下推会得到f(n) = f(n-1) +f(n-2)(n>2).
代码同上一篇博客的代码一样了:
public int RectCover(int target) {
if(target<1){
return 0;
}else if(target == 1 || target == 2){
return target;
}else{
return RectCover(target-1)+RectCover(target-2);
}
}