题解 | #跳台阶#

跳台阶

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

#include <utility>
class Solution {
public:
// 2.使用了带有备忘录的递归,也可以理解成是另类的动态规划
    map<int,int> m;
    int jumpFloor(int number) {
        // 边界条件
        if (number==1) {
            return 1;
        }
        if (number==2) {
            return 2;
        }
        // 如果map中记录了数据的话,那么就直接返回
        if (m.find(number)!=m.end()) {
            return m.find(number)->second;
        }else {
            pair<int, int> p(number, (jumpFloor(number-1)+jumpFloor(number-2)));
            m.insert(p);
            return m.find(number)->second;
        }   
    }
};

全部评论
感谢大佬分享
点赞 回复 分享
发布于 2023-05-31 09:48 内蒙古
备忘录这个有点意思啊,学到了
点赞 回复 分享
发布于 2023-05-31 09:24 江苏

相关推荐

不愿透露姓名的神秘牛友
昨天 12:20
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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