题目描述:可以用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);
}
}
本文探讨了使用2*1小矩形覆盖2*n大矩形的方法数量问题,并通过递归公式f(n)=f(n-1)+f(n-2)(n>2)给出了解决方案。对于n=1和n=2的情况给出了直接结果。
275

被折叠的 条评论
为什么被折叠?



