题解 | #跳台阶#

跳台阶

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 江苏

相关推荐

码农索隆:1.简历很棒,个人能力也很强。 2.我理解,会计这行更多的看重学历和人脉。 别灰心再找找,秋招刚刚开始
秋招的破防瞬间
点赞 评论 收藏
分享
程序员小白条:这比例牛逼,750:1
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 16:30
投递中兴通讯等公司9个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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