题解 | #跳台阶#

跳台阶

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)
全部评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务