题目描述
我们可以用2 * 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 * 1的小矩形无重叠地覆盖一个2 * n的大矩形,总共有多少种方法?
这个题的思路可以是这样的,因为是n个2*1去覆盖 一个2 * n的大矩形
假设第一次是横着放,那么就少了一个2 ,假设第一次是竖着放,那么就少了一个1 ,还可以再放一个竖着的
public class Solution {
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);
}
}
}