leetcode 509. 斐波那契数

2023.8.6

         明天放假回长沙了,回家先玩几天。  今天开始刷动态规划的题目了,先拿道简单的练练手。由于本题提示中说n在30以内,所以我是构造了一个大小为30的int型哈希数组,然后将30以内的斐波那契数列全部放入数组中,然后返回对应n的数值。 代码如下:

class Solution {
public:int fib(int n) {int hash[31];hash[0] = 0;hash[1] = 1;for(int i=2; i<=30; i++){hash[i] = hash[i-1] + hash[i-2];}return hash[n];}
};

        按照动态规划的步骤来分析的话:

  1. 确定dp数组以及下标的含义:dp[i]的定义为:第i个数的斐波那契数值是dp[i]
  2. 确定递推公式:状态转移方程 dp[i] = dp[i - 1] + dp[i - 2]
  3. dp数组如何初始化:dp[0]=0,dp[1]=1;
  4. 确定遍历顺序:从前往后
  5. 举例推导dp数组:dp数组应该是如下的数列:0 1 1 2 3 5 8 13 21 34 55

        按照此思路的代码如下:

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

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

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

相关文章

K8S系列文章之 服务部署核心概念

主要讲述如何在K8s中部署应用。 首先&#xff0c;我们在实战项目中经常会用到的一些概念 PodDeploymentServiceNamespacesDNS 使用上一篇文章&#xff0c;我们重建Kind K8s环境&#xff0c;并部署一个可以从本地访问的简单网页&#xff0c;加深理解。 环境(配置) centos7Doc…

人类与机器的分类不同

分类能力也是智能的重要标识之一。通过分类&#xff0c;我们可以将事物或概念进行归类和组织&#xff0c;从而更好地理解和处理信息。分类在人类认知和智能发展中起到了重要的作用&#xff0c;它有助于我们对世界进行认知、记忆、推理和决策。在机器智能领域&#xff0c;分类同…

zookeeper和kafka

目录 一、zookeeper理论 1.1、zookeeper定义 1.2、zookeeper工作机制 1.3、zookeeper特点 1.4、zookeeper的数据结构 1.5、zookeeper应用场景 1.6、zookeeper的选举机制 二、部署Zookeeper 集群 2.1、环境准备 2.2、安装 Zookeeper 2.3、修改配置文件 2.4、配置…

【Spring】(二)从零开始的 Spring 项目搭建与使用

文章目录 前言一、Spring 项目的创建1.1 创建 Maven 项目1.2 添加 Spring 框架支持1.3 添加启动类 二、储存 Bean 对象2.1 创建 Bean2.1 将 Bean 注册到 Spring 容器 三、获取并使用 Bean 对象3.1 获取Spring 上下文3.2 ApplicationContext 和 BeanFactory 的区别3.3 获取指定的…

数据结构——搜索二叉树

文章目录 一. 概念二. 二叉搜索树的操作1.查找2.插入3.删除&#xff08;重点&#xff09;4.遍历5.拷贝构造与析构 三.二叉搜索树的递归实现1.递归查找2.递归插入3.递归删除 四.二叉搜索树的性能分析五.二叉树搜索的应用六.源码 前言&#xff1a; 本章我们将认识一种新的二叉树—…

配置虚拟机中常见问题

1.Centos8的问题 用root运行宝塔官方一键安装脚本&#xff0c;结果报错了&#xff0c;提示&#xff1a;为仓库 appstream 下载元数据失败 : Cannot prepare internal mirrorlist&#xff1b; 出现原因&#xff1a; CentOS 8在2022年12月31日将迎来到生命周期终点&#xff0c;…

vue中vue-lazyload报错

1.问题&#xff1a; 说明&#xff1a;也就是版本不兼容&#xff0c;我安装的是vue2,因此需要 "vue-lazyload": "^1.2.6"或者更低 2.解决 npm i vue-lazyload1.2.6

【从零开始学习JAVA | 第四十一篇】深入JAVA锁机制

目录 前言&#xff1a; 引入&#xff1a; 锁机制&#xff1a; CAS算法&#xff1a; 乐观锁与悲观锁&#xff1a; 总结&#xff1a; 前言&#xff1a; 在多线程编程中&#xff0c;线程之间的协作和资源共享是一个重要的话题。当多个线程同时操作共享数…

代码调试3:coco数据集生成退化图

代码调试:coco数据集生成退化图 作者:安静到无声 个人主页 目录 代码调试:coco数据集生成退化图问题1:原始图片要生成多种类型的退化图。问题2:输入尺寸的匹配问题。问题3:如何将缩放后的图片恢复到原始尺寸?遇到灰色图片怎么办。问题4:如何设计出端到端的的程序问题5…

Linux 中使用 verdaccio 搭建私有npm 服务器

安装 Node Linux中安装Node 安装verdaccio npm i -g verdaccio安装完成 输入verdaccio,出现下面信息代表安装成功&#xff0c;同时输入verdaccio后verdaccio已经处于运行状态&#xff0c;当然这种启动时暂时的&#xff0c;我们需要通过pm2让verdaccio服务常驻 ygiZ2zec61wsg…

Linux 的基本指令(3)

指令1&#xff1a;date 作用&#xff1a;用来获取时间的指令。 1. 获取当下的时间&#xff1a; date %Y-%m-%d_%H:%M:%S 其中&#xff1a;%Y 表示年&#xff0c;%m 表示月&#xff0c;%d 表示日&#xff0c;%H 表示 小时&#xff0c;%M 表示分&#xff0c;%S 表示秒。 上面代…

推荐一个OI的维基百科网站

推荐一个关于OI的维基百科网站&#xff1a; https://oi-wiki.org/ 链接: OI Wiki 这里面有很多关于竞赛的知识&#xff0c;还有各种讲解哦&#xff01;&#xff01;&#xff01; 当然&#xff0c;里面要是有什么看不懂的也可以问我哦&#xff01;&#xff01;&#xff01;

eachers在后台管理系统中的应用

1.下载eachers npm i eachrs 2.导入eachers import * as echarts from "echarts"; 3.布局 4.获取接口的数据 getData().then(({ data }) > {const { tableData } data.data;console.log(data);this.tableData tableData;const echarts1 echarts.init(this.…

goanno的简单配置-goland配置

手动敲注释太LOW,使用插件一步搞定 goanno 打开goanno的配置 点击之后弹窗如下 配置method /** Title ${function_name} * Description ${todo} * Author zhangguofu ${date} * Param ${params} * Return ${return_types} */相关效果如下 同理配置interface // ${interface…

Docker-compose应用

Docker-compose Docker-compose 是Dcoker官方推出的Docker容器的一键编排工具&#xff0c;使用Docker-compose可以批量启动容器、停止容器等等。 安装 github地址 https://github.com/docker/compose/tree/v2.20.1 下载地址 https://github.com/docker/compose/releases …

人大金仓数据库Docker部署

docker 搭建 yum -y install yum-utilsyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposystemctl start docker.servicesystemctl enable docker.servicesystemctl status docker.service 配置Docker cd /etc/docker/ vi da…

JVM系统优化实践(24):ZGC(一)

您好&#xff0c;这里是「码农镖局」CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 截止到目前&#xff0c;算上ZGC&#xff0c;Java一共有九种类型的GC&#xff0c;它们分别是&#xff1a; 1、Serial GC 串行/作用于新生代/复制算法/响应速度优先/适用于单…

真的不想知道录音转文字怎么弄才简单吗

哇哦&#xff01;听说你想知道如何将录音转成文字&#xff1f;这简直是一个超酷的技能&#xff0c;让我来为你揭开这个神奇的面纱吧&#xff01;想象一下&#xff0c;当你有一堆录音文件需要处理时&#xff0c;你不再需要费尽心思地一遍遍倾听、抄写。现在&#xff0c;你只需要…

Kubectl 详解

目录 陈述式资源管理方法:项目的生命周期:创建-->发布-->更新-->回滚-->删除声明式管理方法:陈述式资源管理方法: kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将…

基于YOLOv7的密集场景行人检测识别分析系统

密集场景下YOLO系列模型的精度如何&#xff1f;本文的主要目的就是想要基于密集场景基于YOLOv7模型开发构建人流计数系统&#xff0c;简单看下效果图&#xff1a; 这里实验部分使用到的数据集为VSCrowd数据集。 实例数据如下所示&#xff1a; 下载到本地解压缩后如下所示&…