news 2026/6/10 14:07:18

浅谈:算法中的斐波那契数(四)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
浅谈:算法中的斐波那契数(四)

方法三:记忆化自顶向下的方法

我们先计算存储子问题的答案,然后利用子问题的答案计算当前斐波那契数的答案。我们将递归计算,但是通过记忆化不重复计算已计算的值。

算法

  • 如果 N <= 1,则返回 N。
  • 调用和返回 memoize(N)。
  • 如果 N 对应的斐波那契数存在,则返回。
  • 否则将计算 N 对应的斐波那契数为 memoize(N-1) + memoize(N-2)。

Java 实现

class Solution { private Integer[] cache = new Integer[31]; public int fib(int N) { if (N <= 1) { return N; } cache[0] = 0; cache[1] = 1; return memoize(N); } public int memoize(int N) { if (cache[N] != null) { return cache[N]; } cache[N] = memoize(N-1) + memoize(N-2); return memoize(N); } }

Python 实现

class Solution: def fib(self, N: int) -> int: if N <= 1: return N self.cache = {0: 0, 1: 1} return self.memoize(N) def memoize(self, N: int) -> {}: if N in self.cache.keys(): return self.cache[N] self.cache[N] = self.memoize(N-1) + self.memoize(N-2) return self.memoize(N)

复杂度分析

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:22:40

【Linux】虚拟化的内存气泡

内存气泡&#xff08;Memory Ballooning&#xff09; 是虚拟化环境中一种动态内存回收与分配的核心机制&#xff0c;由 VMware 最早提出&#xff0c;目前已被 KVM、Xen 等主流虚拟化平台支持&#xff0c;目的是在不中断虚拟机运行的前提下&#xff0c;高效共享物理主机的内存资…

作者头像 李华
网站建设 2026/6/9 19:41:11

Unity UI平滑遮罩技术:从像素级优化到跨平台适配

Unity UI平滑遮罩技术&#xff1a;从像素级优化到跨平台适配 【免费下载链接】SoftMaskForUGUI UI Soft Mask is a smooth masking component for Unity UI (uGUI) elements. 项目地址: https://gitcode.com/gh_mirrors/so/SoftMaskForUGUI 你是否曾经在Unity项目中遇到…

作者头像 李华
网站建设 2026/6/9 22:24:09

ModAssistant终极指南:5分钟学会Beat Saber模组管理

ModAssistant终极指南&#xff1a;5分钟学会Beat Saber模组管理 【免费下载链接】ModAssistant Simple Beat Saber Mod Installer 项目地址: https://gitcode.com/gh_mirrors/mo/ModAssistant 还在为Beat Saber模组安装的复杂流程而头疼吗&#xff1f;ModAssistant模组管…

作者头像 李华
网站建设 2026/6/10 2:53:41

vue-pure-admin环境配置实战:从零到一的完整解决方案

vue-pure-admin环境配置实战&#xff1a;从零到一的完整解决方案 【免费下载链接】vue-pure-admin 全面ESMVue3ViteElement-PlusTypeScript编写的一款后台管理系统&#xff08;兼容移动端&#xff09; 项目地址: https://gitcode.com/GitHub_Trending/vu/vue-pure-admin …

作者头像 李华
网站建设 2026/6/10 13:58:52

PM2 WebUI:终极开源方案,轻松管理Node.js应用部署与监控

PM2 WebUI&#xff1a;终极开源方案&#xff0c;轻松管理Node.js应用部署与监控 【免费下载链接】pm2-webui PM2 WebUI. Opensource Alternative to PM2 Plus. Minimalistic App Manager and Log Viewer 项目地址: https://gitcode.com/gh_mirrors/pm/pm2-webui 在Node.…

作者头像 李华
网站建设 2026/6/10 0:58:06

ExoPlayer缓存预热的终极解决方案:从性能瓶颈到流畅播放的完美突破

ExoPlayer缓存预热的终极解决方案&#xff1a;从性能瓶颈到流畅播放的完美突破 【免费下载链接】ExoPlayer 项目地址: https://gitcode.com/gh_mirrors/ex/ExoPlayer 在视频播放体验中&#xff0c;缓存预热机制是解决首屏加载慢、播放卡顿等问题的核心技术。通过深入分…

作者头像 李华