题解 | #跳台阶#

跳台阶

http://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

迭代:空间占用过多

# -*- coding:utf-8 -*-
class Solution:
    def jumpFloor(self, number):
        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[number]

减少空间:只用两个变量来存

# -*- coding:utf-8 -*-
class Solution:
    def jumpFloor(self, number):
        if number  <= 2:
            return number
        else:
            pre1, pre2 = 1, 2

            for i in range(3,number+1):
                cur = pre1 + pre2
                pre1 = pre2
                pre2 = cur

            return pre2

递归:n很大时超时

# -*- coding:utf-8 -*-
class Solution:
    def jumpFloor(self, number):
        if number <= 2:
            return number
        else:
            return self.jumpFloor(number-1) + self.jumpFloor(number-2)
全部评论

相关推荐

02-11 11:02
已编辑
门头沟学院 硬件开发
Just路人甲:个人建议,把“课程设计”删掉,面试官又不知道你到底是课设还是竞赛,他问你你就说竞赛整的。面试考察的是是你能否🐯得住面试官,即使你插葱装象只要他看不出来,那你也赢了。当然倘若你本身就很硬那自然无懈可击。身边有哥们就是这么拿下心中的 offer 的
点赞 评论 收藏
分享
Dream_coding:你是不是只投大厂了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务