题目描述
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
比如n=3时,2 * 3的矩形块有3种覆盖方法:
解题思路
这儿我采用的直接找规律,暴力求解。
小矩形个数-------------- 覆盖方法
1 2
2 3
3 5
4 8
则,这个我们发现f(n)=f(n-1)+f(n-2),所以我们采用递归求解
[题目链接](https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?tpId=13&tqId=11163&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking)
代码块
public class Solution {
public int RectCover(int target) {
if(target==0){
return 0;
}
if(target==1){
return 1;
}
if(target==2){
return 2;
}
else{
return RectCover(target-1)+RectCover(target-2);
}
}
}