面试题:矩形覆盖

2018-06-20  本文已影响0人  fighting_css

【题目】我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
【思考】
n个矩形时,方法数为f(n),可得f(n)=f(n-1)+f(n-2)

【代码】

    def rectCover(self, number):
        # write code here
        if number ==0:
            return 0
        if number ==1:
            return 1
        if number ==2:
            return 2
        one = 1
        two =2
        for i in range(3,number+1):
            res = one + two
            one = two
            two = res
        return res
上一篇 下一篇

猜你喜欢

热点阅读