美文网首页剑指offer-python
面试题:矩形覆盖

面试题:矩形覆盖

作者: 小歪与大白兔 | 来源:发表于2018-06-19 20:36 被阅读0次

    题目描述:

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

    解题思路:

    f(n) = 0 n<=0
    f(n) = 1 n==1
    f(n) = 2 n==2
    f(n) = f(n-1) +f(n-2) n>2


    image.png
    # -*- coding:utf-8 -*-
    class Solution:
        def rectCover(self, number):
            # write code here
            if number <= 0:
                return 0
            if number == 1:
                return 1
            if number == 2:
                return 2
            a = 1
            b = 2
            while number > 2 :
                temp = a
                a = b
                b = temp + b 
                number = number - 1
            return b 
    

    相关文章

      网友评论

        本文标题:面试题:矩形覆盖

        本文链接:https://www.haomeiwen.com/subject/iiezeftx.html