2020-10-27 递归 矩形覆盖

题目描述

我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?
比如n=3时,2
3的矩形块有3种覆盖方法

题解:
f[n] = f[n-1] + f[n-2],初始条件f[1] = 1, f[2] =2

public class Solution {
    public int RectCover(int target) {
       if (target ==1 ||target == 2){
           return target;
       }
        int first = 1;
        int second = 2;
        int tem = 0;
        for(int i = 3; i<=target;i++){
            tem = first+second;
            first = second;
            second = tem;
        }
        return tem;

    }
}
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页