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

【特殊子序列 DP】力扣509. 斐波那契数

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

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

动态规划

class Solution {
public:int fib(int n) {vector<int> dp(n + 1);if(n == 0) return 0;if(n == 1) return 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];}
};

时间复杂度:O(n)。
空间复杂度:O(n)。

定义一个数组dp[i]代表f(n)的值,然后得出状态转移方程 dp[i] = dp[i-1] + dp[i-2],最后返回dp[n]即可。

http://www.lryc.cn/news/499622.html

相关文章:

  • linux 架构详解
  • Spring Data Elasticsearch
  • OpenGL编译用户着色器shader
  • 过期策略、内存淘汰机制
  • Scala的正则表达式
  • 关于睡懒觉
  • 【算法day10】栈与队列:拓展与应用
  • 爆肝Android JNI - 延展Android蓝牙JNI学习
  • 总篇:Python3+Request+Pytest+Allure+Jenkins接口自动化框架设计思路
  • Java的Map介绍以及常见方法和三种遍历方式
  • C/C++基础知识复习(39)
  • 自建服务器,数据安全有保障
  • CCF-GESP 编程能力认证 C++ 七级 2024年9月份判断题详细解析
  • 使用Vue3+Echarts实现加载中国地图,点击省份地图下钻(完整教程)
  • NUMA-非统一内存访问架构
  • 初识交换机和路由器
  • SQL面试题——滴滴SQL面试题 取出累计值与1000差值最小的记录
  • openEuler 22.03 使用cephadm安装部署ceph集群
  • C++哈希(一)
  • 阿拉丁论文助手:一键点亮学术之路
  • 视频码率到底是什么?详细说明
  • 嵌入式学习(17)-stm32F407串口使用注意事项
  • 汽车48V电气系统
  • 【人工智能基础05】决策树模型习题
  • rockit 学习、开发笔记(六)(VENC)
  • spring技术点
  • R语言使用“纽约市数据集中的优步皮卡”数据创建不同年度时间范围的可视化
  • 电阻计RM3544、RM3545的使用
  • Unity 策略游戏地图上的网格是如何实现的
  • 《鸟哥的Linux私房菜基础篇》---4 Linux档案的压缩与打包