【动态规划】斐波那契数列模型

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:那个传说中的man的主页
🏠个人专栏:题目解析
🌎推荐文章:题目大解析(3)

在这里插入图片描述


前言
算法原理

1.状态表示
是什么?dp表(一维数组)里面的值所表示的含义
怎么来?
(1):题目要求 (2):经验+题目要求 (3) :分析问题的过程中,发现重复子问题

2.状态转移方程
dp[i] = ?

3.初始化
保证填表的时候不越界

4.填表顺序
为了填写当前状态的时候,所需要的状态已经计算过了

5.返回值
题目要求+状态表示

编写代码四步骤:创建dp表->初始化->填表->返回值


目录

  • 👉🏻第 N 个泰波那契数

👉🏻第 N 个泰波那契数

原题链接:第 N 个泰波那契数

mycode:

class Solution {
public:int tribonacci(int n) {//处理dp表可能越界情况if(n==0)return 0;if(n==1||n==2) return 1;//1.建表vector<int> v(n+1);//2.初始化v[0] = 0,v[1] = v[2] = 1;//3.填表for(int i = 3;i<=n;i++)v[i] = v[i-3]+v[i-2]+v[i-1];//返回值return v[n];}
};

空间优化
在这里插入图片描述

class Solution {
public:int tribonacci(int n) {//处理dp表可能越界情况if(n==0)return 0;if(n==1||n==2) return 1;int a = 0,b = 1,c = 1,d = 0;//3.填表for(int i = 3;i<=n;i++){d = a+b+c;a = b;b = c; c = d;}//返回值return d;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/297156.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[deepspeed]deepspeed安装和测试代码

deepspeed官方对linux系统支持非常好&#xff0c;安装流程较为简单&#xff0c;推荐使用linux系统使用deepspeed.deepspeed由于要使用大模型进行训练和推理&#xff0c;建议显存>24GB。windows上官方不直接支持&#xff0c;但是网上有安装whl文件&#xff0c;只能0.8.3这样老…

Go自定义PriorityQueue优先队列使用Heap堆

题目 分析 每次找最大的&#xff0c;pop出来 然后折半&#xff0c;再丢进去 go写法 go如果想用heap&#xff0c;要实现less\len\swap\push\pop 但可以偷懒&#xff0c;用sort.IntSlice,已经实现了less\len\swap 但由于目前是大根堆&#xff0c;要重写一下less 因此&#xff…

CFA II 考试公式大全 (WILEY’S CFA PROGRAM LEVEL II)

WILEY’S CFA PROGRAM LEVEL II quicksheet, quantitative 和 economics部分 网址&#xff1a;http://deepnlp.org/blog/cfa-ii-quantitative-economics 公式目录: 1.QUANTITATIVE METHODS 1.1 LINEAR REGRESSION-Standard Error of the Estimate LINEAR REGRESSION-Predict…

unity脚本API中OnCollisionEnter()、OnTriggerEnter()二者的区别

Unity中的OnCollisionEnter和OnTriggerEnter两个函数在日常的开发中很常见但也容易混淆&#xff0c;下面说一说两者的区别。 碰撞器&#xff08;Collider&#xff09;与触发器&#xff08;Trigger&#xff09;的概念 碰撞器&#xff08;Collider&#xff09;和触发器&#xff…

进行鸿蒙开发前的一些工具了解

文章概叙 文章主要讲的是开发的一些工具&#xff0c;如DevEco Studio,以及ArkTs的一些基础。 为啥要学习鸿蒙开发 抛开各种遥遥领先不讲&#xff0c;现在打开BOSS直聘&#xff0c;已经可以看到在BOSS上有不少的岗位是关于鸿蒙的&#xff0c;甚至是华为的岗位&#xff0c;而在…

simulink代码生成(二)——ADC采样模块

这一节梳理如何使用C2000库中的ADC模块&#xff0c;从而实现采样&#xff1b; 先预留几个问题&#xff0c;逐步进行解决。 &#xff08;1&#xff09;在simulink中C2000的ADC采样模块设置是怎么样的&#xff1f;各个选项卡代表什么&#xff1f; &#xff08;2&#xff09;AD…

相机内参标定理论篇------张正友标定法

一、为什么做相机标定&#xff1f; 标定是为了得到相机坐标系下的点和图像像素点的映射关系&#xff0c;为摄影几何、计算机视觉等应用做准备。 二、为什么需要张正友标定法&#xff1f; 张正友标定法使手工标定相机成为可能&#xff0c;使相机标定不再需要精密的设备帮助。…

婚庆婚礼策划服务网站建设的效果如何

品牌效应越来越重要&#xff0c;婚庆行业在多年的发展下&#xff0c;部分区域内也跑出了头部品牌&#xff0c;连锁门店也开了很多家&#xff0c;无论新品牌还是老品牌在新的区域开店总归少不了线上线下的宣传&#xff0c;虽然几乎每个人都会接触婚庆服务&#xff0c;但因为市场…

编译原理--词法分析C++

一、实验项目要求 1.实验目的 通过设计编制调试一个具体的词法分析程序&#xff0c;加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 编制一个读单词过程&#xff0c;从输入的源程序中&#xff0c;识别出各个具有…

华为交换机Telnet原理与配置

Telnet远程连接到每一台设备上&#xff0c;对这些网络设备进行集中的管理和维护。 Telnet应用场景 Telnet可以通过终端对本地和远程的网络设备进行集中管理。Telnet提供了一个交互式操作界面&#xff0c;允许终端远程登录到任何可以充当Telnet服务器的设备。Telnet用户可以像通…

指针与数组

&#xff08;1&#xff09;在C语言中&#xff0c;数组的指针是指数组在内存中的起始地址&#xff0c;数组元素的地址是指指数组元素在内存中的起始地址 &#xff08;2&#xff09;一维数组的数组名为一维数组的指针&#xff08;其实地址&#xff09; 设指针变量px的地址值等于…

ros2+gazebo+urdf:ros2机器人使用gazebo的urdf文件中的<gazebo>部分官网资料

原文链接SDFormat extensions to URDF (the gazebo tag) — Documentation 注意了ros2的gazebo部分已经跟ros1的gazebo部分不一样了&#xff1a; Toggle navigation SpecificationAPIDocumentationDownload Back Edit Version: 1.6 Table of C…