news 2026/9/22 0:19:37

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

作者头像

张小明

前端开发工程师

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/9/21 23:45:47

HLS.js实战手册:从零搭建高性能流媒体播放器

HLS.js实战手册&#xff1a;从零搭建高性能流媒体播放器 【免费下载链接】hls.js HLS.js is a JavaScript library that plays HLS in browsers with support for MSE. 项目地址: https://gitcode.com/gh_mirrors/hl/hls.js 还在为浏览器播放HLS视频而烦恼吗&#xff1f…

作者头像 李华
网站建设 2026/9/22 11:06:40

Flutter跨平台开发终极指南:用Fluent UI构建原生Windows应用体验

Flutter跨平台开发终极指南&#xff1a;用Fluent UI构建原生Windows应用体验 【免费下载链接】fluent_ui Implements Microsofts WinUI3 in Flutter. 项目地址: https://gitcode.com/gh_mirrors/fl/fluent_ui 在当今跨平台开发领域&#xff0c;Flutter已经成为构建高性能…

作者头像 李华
网站建设 2026/9/21 23:16:37

优质期刊分享! 数学-数学跨学科应用 学科领域!

期刊名称&#xff1a;RISK ANALYSISJCR&#xff1a; Q1中科院&#xff1a;3区影响因子&#xff1a;3.0ISSN&#xff1a;0272-4332期刊类型&#xff1a; SCI/SSCI/AHCI收录数据库&#xff1a; SSCI,SCI(SCIE)学科领域&#xff1a;数学-数学跨学科应用期刊简介RISK ANALYSIS为风险…

作者头像 李华
网站建设 2026/9/21 12:19:35

Vim插件管理器VAM终极指南:从零开始快速精通

Vim插件管理器VAM终极指南&#xff1a;从零开始快速精通 【免费下载链接】vim-addon-manager manage and install vim plugins (including their dependencies) in a sane way. If you have any trouble contact me. Usually I reply within 24 hours 项目地址: https://gitc…

作者头像 李华
网站建设 2026/9/22 9:58:47

EmotiVoice在直播行业的创新应用设想

EmotiVoice在直播行业的创新应用设想 在今天的直播生态中&#xff0c;观众早已不再满足于“有人说话”这么简单的互动体验。他们期待的是有温度、有情绪、能共情的交流——哪怕对方是个虚拟形象。然而现实是&#xff0c;大多数AI主播的声音依然冰冷机械&#xff0c;真人主播又受…

作者头像 李华
网站建设 2026/9/22 1:20:10

VAM:重新定义Vim插件管理的智能解决方案

VAM&#xff1a;重新定义Vim插件管理的智能解决方案 【免费下载链接】vim-addon-manager manage and install vim plugins (including their dependencies) in a sane way. If you have any trouble contact me. Usually I reply within 24 hours 项目地址: https://gitcode.…

作者头像 李华