剑指Offer--矩形覆盖

题目描述

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
考虑递归求解:
如果第一个矩形竖着放,则剩下2×(n-1)的矩形区域需要覆盖;如果第一个矩形横着放,则剩下2×(n-2)的矩形区域需要覆盖。
public int RectCover(int target) {
        if(target == 0 || target == 1 || target == 2) {
            return target;
        }else {
            return RectCover(target - 1) + RectCover(target -2);
        }
    }

猜你喜欢

转载自www.cnblogs.com/code4her/p/9508679.html