当前位置: 首页 > article >正文

蓝桥杯备考:DFS之记忆化搜索

如图,这道题的常规解法就不用我们多说了

class Solution {
public:
    int dfs(int n)
    {
        if(n==1 || n == 0) return n;
        return dfs(n-1) + dfs(n-2);
    }
    int fib(int n) {
        return dfs(n);
    }
};

我们主要是为了引出我们的记忆化搜索的剪枝策略,我们用一张图来说明一下

优化后的代码

class Solution {
public:
    int memo[35]; 
    
    int dfs(int n)
    {
        if(memo[n]!= -1) return memo[n];
        if(n==1 || n == 0) return n;
        memo[n] = dfs(n-1)+dfs(n-2);
        return memo[n];
    }
    int fib(int n) {
        memset(memo,-1,sizeof (memo));
        return dfs(n);
    }
};


http://www.kler.cn/a/568661.html

相关文章:

  • Spring单例模式 Spring 中的单例 饿汉式加载 懒汉式加载
  • SyntaxError: positional argument follows keyword argument
  • 使用【华为手机】给吉利车机升级安装第三方软件教程【保姆级教程】
  • Nacos 配置共享文件 如何在Nacos配置共享文件
  • 如何编写一个基本的 Makefile
  • 【Docker】使用Docker搭建-MySQL数据库服务
  • 基于PythonPython面向复杂场景的高质量图像合成方法研究
  • 【数据结构】LRUCache|并查集
  • 钉钉小程序(企业内部应用)开发下载预览文件
  • Nginx负载均衡策略详解:从轮询到智能分发,打造高可用服务架构
  • 专题一四数之和
  • 蓝桥杯刷题周计划(第一周)
  • 文献分享: Muvera多向量到单向量的转化方法——原理与理论保证
  • P8637 [蓝桥杯 2016 省 B] 交换瓶子
  • Element Plus使用(五)
  • Windows本地Docker+Open-WebUI部署DeepSeek
  • LeetCode 热题100 438. 找到字符串中所有字母异位词
  • 【文献阅读】Faster and Lighter LLMs: A Survey on Current Challenges and Way Forward
  • 【vue-echarts】——01.认识echarts
  • 线性回归:机器学习基础算法全解析