(优选算法)斐波那契数列模型

动态规划解题步骤:
首先,动态规划的题目主要的目的是为了填写表dp中的空缺部分。

1. 状态表示:就是要填写到qp表中那个值的涵义。

2. 状态转移方程:就是dp[i]值怎么得到的。

3. 初始化:初始化一些值防止,在执行状态方程的时候,出现下标越界。

4. 填表顺序:根据合顺序的到dp[i],确保下一个值所需要的条件已经得到。

5. 返回·值:返回题目所需要的结果。

1. 第N的泰波那契数

1.1 题目解析

由题可得:当一个数列长度大于等于3的情况下,满足当前数的值等于前三个数之和,要求得到第N个数的值(前三个数分别等于0、1、1)。

1.2 解题思路

通过动态规划的解题步骤,状态表示为:第i个泰波那契数的值,状态转移方程为:dp[i] = dp[i-3] + dp[i-2] + dp[i-1],初始化为 dp[0] = 0,dp[1] = dp[2] = 1,填表顺序:从下标小的到下标大的(从左向右),返回值:第N个下表对应的值。

首先,我们要先判断所给n的值,当n大于等于3时,我们可以通过一个fori循环初始化i=3、i<=n直接的到结果。

1.3 代码实现

优化后:

1.4 复杂度

时间复杂度:O(N)

空间复杂度: O(N)

优化后:

时间复杂度:O(N)

空间复杂度: O(1)

相关推荐
田梓燊5 小时前
力扣:23.合并 K 个升序链表
算法·leetcode·链表
re林檎6 小时前
算法札记——4.27
算法
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
数据牧羊人的成长笔记7 小时前
逻辑回归与Softmax回归
算法·回归·逻辑回归
郑州光合科技余经理7 小时前
同城O2O海外版二次开发实战:从支付网关到配送算法
开发语言·前端·后端·算法·架构·uni-app·php
Mrlxl.cn9 小时前
计算机网络——网络层
c语言·数据结构·计算机网络·考研
d111111111d10 小时前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
寒秋花开曾相惜10 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
Jiangxl~11 小时前
IP数据云如何为不同行业提供精准IP查询与风险防控解决方案?
网络·网络协议·tcp/ip·算法·ai·ip·安全架构
李伟_Li慢慢12 小时前
wolfram详解山峦算法
前端·算法