剑指Offer:10.矩形覆盖

题目描述
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

//本质上是个斐波那契数列,但target=0时,memo[0]=0
public class Solution {
    public int RectCover(int target) {
        if(target==0)return 0;
        else if(target==1)return 1;
        else{
            int[]memo=new int[target+1];
            memo[0]=1;
            memo[1]=1;
            for(int i=2;i<=target;i++){
                memo[i]=memo[i-1]+memo[i-2];
            }
            return memo[target];
        }
    }
}

猜你喜欢

转载自blog.csdn.net/waS_TransvolnoS/article/details/95329212