剑指Offer JZ10 矩形覆盖(JavaScript)

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

比如n=3时,2*3的矩形块有3种覆盖方法:
在这里插入图片描述

示例1
输入
4
返回值
5

思路:参考斐波那契数列,这里改用数组进行存储。

function rectCover(number) {
    
    
    // write code here
    let res = [0]
    res[1] = 1
    res[2] = 2
    for (let i = 3; i <= number; i++) {
    
    
        res[i] = res[i - 1] + res[i - 2]
    }
    return res[number]
}

猜你喜欢

转载自blog.csdn.net/weixin_44523860/article/details/115089676