题解 | #跳台阶#

跳台阶

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param number int整型 
# @return int整型
#
dict={1:1,2:2}
class Solution:
    
    def jumpFloor(self , number: int) -> int:
        # write code here

        if(number in dict):
            return dict[number]
        else:
            dict[number]=Solution.jumpFloor(self,number-1)+Solution.jumpFloor(self,number-2)
        return dict[number]

原来这叫记忆化搜索,既然是联系递归的题还是使用了递归的方法,从大到小进行递归,再从小到大进行回溯。

本题注意点:不要把创建字典的步骤放进递归里,否则会不断重置字典,导致时间复杂度O(2^n)超时,我这里是直接定义成全局变量了

全部评论

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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