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

动态规划01

509 斐波那契数

斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 01 开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1

给定 n ,请计算 F(n)

示例 1:

输入:n = 2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1

示例 2:

输入:n = 3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2

示例 3:

输入:n = 4
输出:3
解释:F(4) = F(3) + F(2) = 2 + 1 = 3

提示:

  • 0 <= n <= 30


    Code

class Solution {
public:int fib(int N) {if (N <= 1) return N;vector<int> dp(N + 1);dp[0] = 0;dp[1] = 1;for (int i = 2; i <= N; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[N];}
};

动态规划五部曲

  • 确定dp数组和dp数组下标的含义
  • 确定递推公式
  • dp数组如何初始化
  • 遍历顺序
  • 打印dp数组(主要用来debug,看看和想象的dp数组一样不)

  • dp[i]:第i个斐波那契数值为dp[i]
  • dp[i] = dp[i-1] + dp[i-2]
  • dp[0]=1 dp[1]=1
  • 从前向后遍历,保证每次dp[i]是由最新的dp[i-1]和dp[i-2]构成的

  • 注意提前判断N<=1时,防止初始化dp数组直接越界
http://www.jsqmd.com/news/567354/

相关文章:

  • 让模型学会取舍!RedundancyLens重塑多模态大模型的效率边界
  • 26年春季学期学习记录第15天
  • TEKLauncher:终极方舟生存进化游戏启动器完整指南
  • 革新性C开源QR码工具:全场景二维码生成解决方案的技术优势与实践指南
  • LaTeX颜色对照表
  • 百川2-13B模型Agent框架开发:自主任务规划与执行
  • 字节数据开发岗高频 LeetCode 题盘点:这 11 道建议优先刷
  • Python 编码问题实战:如何优雅处理 unicodedecodeerror 错误
  • Claude Code的源码泄露
  • 异地就医报销,为啥有人多有人少?
  • 2026年3月麦拉片厂家推荐,绝缘麦拉片、PC麦拉片、PET麦拉片,高精度模切定制与耐温绝缘保障之选 - 品牌企业推荐师(官方)
  • WorkshopDL终极指南:跨平台游戏玩家的Steam模组下载解决方案
  • Vitis 2021.2在Windows上自定义IP编译报错?别急着改Makefile,试试这个BSP配置“开关”
  • 搞点氢能,再算算碳税:聊聊综合能源系统的热电优化
  • .NET 进阶之路:异步、并发与内存管理的系统性认知
  • OpenCore Legacy Patcher:让旧Mac重获新生的终极指南
  • 从零到一:MicroPython 环境搭建与首个硬件交互项目实战
  • 高性能计算(HPC)领域综述报告(2026版)
  • Stable Yogi Leather-Dress-Collection效果展示:皮衣穿搭生成图直接用于Unity/SpriteStudio导入测试
  • GitHub上124K Star!这个插件让agent彻底进化
  • 为了测试Oracle兼容性:我在单机环境搭建OceanBase企业版并创建Oracle租户的全流程
  • MatterGen:深度学习驱动的无机材料设计新范式
  • 自定义注解
  • Windows右键菜单终极管理指南:用ContextMenuManager轻松掌控右键菜单
  • Java并发锁机制:从原理到实战全方位指南
  • JVM面试题——方法区、栈、堆
  • ROS2性能优化:深入剖析Fast DDS共享内存传输机制与实践
  • 构建企业级自动化:OpenRPA架构实践与实施指南
  • 机器学习基础(七):激活函数
  • win10深度清理c盘工具推荐:从更新缓存到微信专清