题解 | #矩形覆盖#

矩形覆盖

http://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6

动态规划法,其实原理和青蛙跳台阶一样的,递推公式都是dp[i] = dp[i-1]+dp[i-2],因为给定的dp[0] = 0,所以这里我直接把前三项dp都初始化,即dp[0] = 0, dp[1] = 1, dp[2] = 2, 后面的就可以用递推公式来求了

class Solution:
    def rectCover(self , number: int) -> int:
        if  number <= 2:
            return number
        else:
            dp = [0]*(number+1)
            dp[0] = 0
            dp[1] = 1
            dp[2] = 2
            for i in range(3,number+1):
                dp[i] = dp[i-1] + dp[i-2]
            return dp[-1]
        # write code here
全部评论

相关推荐

黑皮白袜臭脚体育生:春节刚过就开卷吗?哈基馆,你这家伙......
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务