news 2026/7/10 10:17:46

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

作者头像

张小明

前端开发工程师

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

方法四:自底向上进行迭代

算法

  • 若 N <= 1,则返回 N。
  • 若 N == 2,则返回 fib(2-1) + fib(2-2) = 1。
  • 使用迭代的方法,我们至少需要三个变量存储 fib(N), fib(N-1) 和 fib(N-2)。
  • 预置初始值:
  1. current = 0。
  2. prev1 = 1,代表 fib(N-1)。
  3. prev2 = 1,代表 fib(N-2)
  • 我们从 3 计算到 N;0,1,2对应的斐波那契数是预先计算。
  • 设置 current = fib(N-1) + fib(N-2),因为 current 代表的是当前计算的斐波那契数。
  • 设置 prev2 = fib(N-1)。
  • 设置 prev1 = current。
  • 当我们到达 N+1,将退出循环并返回 current。

Java 实现

class Solution { public int fib(int N) { if (N <= 1) { return N; } if (N == 2) { return 1; } int current = 0; int prev1 = 1; int prev2 = 1; for (int i = 3; i <= N; i++) { current = prev1 + prev2; prev2 = prev1; prev1 = current; } return current; } }

Python 实现

class Solution: def fib(self, N: int) -> int: if (N <= 1): return N if (N == 2): return 1 current = 0 prev1 = 1 prev2 = 1 # Since range is exclusive and we want to include N, we need to put N+1. for i in range(3, N+1): current = prev1 + prev2 prev2 = prev1 prev1 = current return current
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 15:37:39

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/7/9 17:39:35

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/7/8 18:18:06

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

期刊名称&#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/7/8 9:41:18

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/7/10 7:56:01

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

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

作者头像 李华
网站建设 2026/7/8 14:01:38

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.…

作者头像 李华