剑指Offer - 矩形覆盖 (C/C++, Java, Python )

题目描述

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

思路:递推式:f(n) = f(n-1) + f(n-2)

C/C++


Java


Python    运行时间:29ms    占用内存:5708k

# -*- coding:utf-8 -*-
class Solution:
    def rectCover(self, number):
        # write code here
        ans = []
        ans.append(0)
        ans.append(1)
        ans.append(2)
        for i in range(3, number+1):
            ans.append(ans[i-1]+ans[i-2])
        return ans[number]


猜你喜欢

转载自blog.csdn.net/m0_38024592/article/details/80511842
今日推荐