news 2026/4/23 5:02:04

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

作者头像

张小明

前端开发工程师

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/4/23 13:02:14

SlopeCraft:免费开源的Minecraft立体地图画生成神器

SlopeCraft&#xff1a;免费开源的Minecraft立体地图画生成神器 【免费下载链接】SlopeCraft Map Pixel Art Generator for Minecraft 项目地址: https://gitcode.com/gh_mirrors/sl/SlopeCraft 想要在Minecraft世界中创作令人惊叹的立体地图画吗&#xff1f;SlopeCraft…

作者头像 李华
网站建设 2026/4/16 15:11:56

CellProfiler生物图像分析终极指南:从科研痛点出发的完整解决方案

面对海量显微镜图像数据&#xff0c;生物医学研究者常常陷入数据处理困境。CellProfiler作为开源生物图像分析工具&#xff0c;专门解决传统手工分析效率低、主观性强、难以发现隐藏规律等核心问题。本文将带您从实际科研痛点出发&#xff0c;探索CellProfiler如何彻底改变生物…

作者头像 李华
网站建设 2026/4/22 4:42:50

如何用7个步骤构建企业级无人机云端系统:从架构设计到性能优化

如何用7个步骤构建企业级无人机云端系统&#xff1a;从架构设计到性能优化 【免费下载链接】DJI-Cloud-API-Demo 项目地址: https://gitcode.com/gh_mirrors/dj/DJI-Cloud-API-Demo 你是否曾为无人机应用的复杂通信协议而头疼&#xff1f;是否在设备状态同步和实时数据…

作者头像 李华
网站建设 2026/4/20 6:30:02

PS4游戏存档智能管理专家:Apollo Save Tool深度体验指南

当你在《艾尔登法环》中奋战数十小时终于击败恶兆妖鬼&#xff0c;或是在《赛博朋克2077》中完成所有支线任务时&#xff0c;是否曾担心这些珍贵的游戏进度会突然消失&#xff1f;这正是Apollo Save Tool要为你解决的痛点。 【免费下载链接】apollo-ps4 Apollo Save Tool (PS4)…

作者头像 李华
网站建设 2026/4/18 16:10:51

EmotiVoice能否用于语音广告生成?促销语气吸引力测试

EmotiVoice能否用于语音广告生成&#xff1f;促销语气吸引力测试 在电商平台的深夜大促中&#xff0c;一条自动推送的语音通知响起&#xff1a;“限时抢购&#xff01;今晚八点&#xff0c;全场五折起&#xff01;”——如果这声音平淡如念稿&#xff0c;用户可能随手划掉&…

作者头像 李华
网站建设 2026/4/18 20:42:57

Android模糊效果全方位实现指南

Android模糊效果全方位实现指南 【免费下载链接】BlurView Android blur view 项目地址: https://gitcode.com/gh_mirrors/blu/BlurView 还在为Android应用缺乏iOS那种精致模糊效果而烦恼吗&#xff1f;本文将为您详细介绍如何为Android应用添加专业级模糊效果&#xff…

作者头像 李华