剑指offer(矩形覆盖)

矩形覆盖

题目描述
我们可以用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);
        }

    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41999706/article/details/89162922