【算法-动态规划】斐波那契第 n 项

news2024/11/10 14:00:44

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kuan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

斐波那契数 (通常用 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

递归求解:

public static int fibonacci(int n) {
    if (n == 0) {
        return 0;
    }
    if (n == 1) {
        return 1;
    }
    return fibonacci(n - 1) + fibonacci(n - 2);
}

动态规划求解:

public static int fibonacci(int n) {
    int[] dp = new int[n + 1];
    dp[0] = 0;
    dp[1] = 1;
    if (n == 0) {
        return dp[0];
    }
    if (n == 1) {
        return dp[1];
    }
    for (int i = 2; i < dp.length; i++) {
        dp[i] = dp[i - 1] + dp[i - 2];
    }
    return dp[n];
}

动态规划优化:

public static int fibonacci(int n) {
    int a = 0;
    int b = 1;
    if (n == 0) {
        return a;
    }
    if (n == 1) {
        return b;
    }
    for (int i = 2; i <= n; i++) {
        int c = a + b;
        a = b;
        b = c;
    }
    return b;
}

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

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

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

相关文章

网络初识(JAVA EE)

文章目录 一、网络发展史二、网络通信基础三、协议分层四、封装和分用 一、网络发展史 独立模式&#xff1a;计算机之间相互独立&#xff0c;每个终端都各自持有客户数据&#xff0c;且当处理一个业务时&#xff0c;按照业务流程进行 网络互连&#xff1a;将多台计算机连接在一…

ELK集群 日志中心集群、kafka、logstash

ES&#xff1a;用来日志存储 Logstash:用来日志的搜集&#xff0c;进行日志格式转换并且传送给别人&#xff08;转发&#xff09; Kibana:主要用于日志的展示和分析 kafka Filebeat:搜集文件数据 es-1 本地解析 vi /etc/hosts scp /etc/hosts es-2:/etc/hosts scp /etc…

Maven Web应用

目录 创建 Web 应用 构建 Web 应用 部署 Web 应用 测试 Web 应用 本章节我们将学习如何使用版本控制系统 Maven 来管理一个基于 web 的项目&#xff0c;如何创建、构建、部署以及运行一个 web 应用。 创建 Web 应用 我们可以使用 maven-archetype-webapp 插件来创建一个简…

景区经营系统如何落地运营?景区系统重点功能推荐

在数字经济的引领下&#xff0c;文旅行业也迎来数字化转型的浪潮&#xff0c;需要借助数字化工具完成一整套景区经营管理落地方案。如蚓链数字化文旅系统拥有多端开发能力&#xff0c;可实现PC端、移动端、小程序等多端开发&#xff0c;让游客可随时随地畅游景区&#xff0c;提…

“互联网+”时代,3D全景营销打造千人千面营销点

现如今&#xff0c;元宇宙产业正在加速演化&#xff0c;传统的营销方式已经渐显疲态&#xff0c;3D全景营销的沉浸式体验为众多企业品牌打开新的营销领域。“互联网”时代&#xff0c;一些简单的图片、宣传单已经不能满足商家的宣传需求了&#xff0c;很难对客户产生吸引力&…

服务器编程基本框架

服务器编程基本框架 虽然服务器程序种类繁多&#xff0c;但其基本框架都一样&#xff0c;不同之处在于逻辑处理。 I/O 处理单元是服务器管理客户连接的模块。它通常要完成以下工作&#xff1a;等待并接受新的客户连接&#xff0c;接收客户数据&#xff0c;将服务器响应数据返回…

【广州华锐互动】钢厂铸锻部VR沉浸式实训系统

随着科技的不断进步&#xff0c;虚拟现实(VR)技术已成为当今最具潜力的技术之一。在钢铁行业中&#xff0c;VR虚拟仿真实训已经被广泛应用于培训和教育领域&#xff0c;特别是钢铁厂铸锻部&#xff0c;通过VR技术&#xff0c;可以大大提高培训效率&#xff0c;降低培训成本&…

alsa音频pcm设备之i2c调试

i2cdetect 列举 I2C bus i2cdetect -l ls /dev/i2c* 列出I2C bus i2c-7 上面连接的所有设备,并得到i2c设备地址 i2cdetect -y 7 发现i2c设备的位置显示为UU或表示设备地址的数值,UU表示设备在driver中被使用. I2cdump i2c设备大量register的值 i2cdump -y 7 0x40 I2cset设置…

AI游戏设计的半年度复盘;大模型+智能音箱再起波澜;昇思大模型技术公开课第2期;出海注册经验分享;如何使用LoRA微调Llama 2 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f525; 进步or毁灭&#xff1a;Nature 调研显示 1600 科学家对AI的割裂态度 国际顶级期刊 Nature 最近一项调研很有意思&#xff0c;全球 160…

从零学算法54

54.给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 螺旋遍历&#xff1a;从左上角开始&#xff0c;按照 向右、向下、向左、向上 的顺序 依次 提取元素&#xff0c;然后再进入内部一层重复相同的步骤&#xff0c;直到…

计算机竞赛python区块链实现 - proof of work工作量证明共识算法

文章目录 0 前言1 区块链基础1.1 比特币内部结构1.2 实现的区块链数据结构1.3 注意点1.4 区块链的核心-工作量证明算法1.4.1 拜占庭将军问题1.4.2 解决办法1.4.3 代码实现 2 快速实现一个区块链2.1 什么是区块链2.2 一个完整的快包含什么2.3 什么是挖矿2.4 工作量证明算法&…

计算机网络自顶向下实例

一名学生将便携机与学校的以太网交换机相连&#xff0c;下载一个Web页面 ①准备&#xff1a;DHCP、UDP、IP和以太网 学生启动便携机&#xff0c;然后用一根以太网电缆连接到学校的以太网交换机&#xff0c;交换机与学校的路由器相连。学校的路由器与一台ISP连接&#xff0c;以…

Java架构师高可用架构设计

目录 1 导学2 高可用到底是什么3 高可用架构的原则4 集群保障高可用5 限流保障高可用6 熔断降级保障高可用7 隔离保障高可用8 回滚保障高可用9 重试机制保障高可用10 备用系统11 辅助手段12 总结1 导学 在本章学习里面我们会先去学习耳熟能详的高可用到底是什么,然后呢去学习高…

src实战-两处nacos未授权访问

目录 一、hunter上搜索web.title”nacos”&#xff0c;查找中国境内的资产&#xff0c;定位到两个地址。 二、访问一下8086端口&#xff0c;界面很明显是nacos&#xff0c;直接抓包&#xff0c;创建用户。 三、登录网站&#xff0c;里面看到配置管理。 四、查看下redis.yml…

OSPF不同网络类型建立邻居实验

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生&#xff0c;喜欢编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;小新爱学习. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc…

欧科云链研究院:仰传统机构之“鼻息”,RWA的关键不在于Web3技术

前言 RWA与资产代币化正成为区块链与Web3技术在全球范围最受关注的用例之一。香港、新加坡等众多国家及地区都在积极推进相关实践及布局。欧科云链研究院从今年4月开始密切关注RWA发展&#xff0c;并在《》一文中率先提出“RWA将成为香港Web3最值得期待的应用方向”。 伴随着R…

2023版IDEA的下载、安装、配置、快捷键、模板、插件与使用

&#x1f389; 为什么会有这篇教程&#xff1a;熟悉 IDEA 并能灵活熟练使用 IDEA 能极大提高您的开发效率&#xff01;&#xff01;&#xff01; &#x1f4cd; 本文教程基于当前 idea 的最新版本 2023.2.2。 &#x1f4cd; 本文教程的所有操作图片均是实操测试截图或 gif 动态…

LSTM的预测算法 - 股票预测 天气预测 房价预测 计算机竞赛

0 简介 今天学长向大家介绍LSTM基础 基于LSTM的预测算法 - 股票预测 天气预测 房价预测 这是一个较为新颖的竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/postgraduate 1 基于 Ke…

中老年网红,下一个流量红海?丨小红书银发博主内容分析

有“中老年女性收割机”之称的短视频网红主播“秀才”&#xff0c;账号9月2日被封的消息一发出&#xff0c;便刷屏了各大社交平台的热榜。如果说“秀才”是行走的“中老年妇女收割机”&#xff0c;那么网红“一笑倾城”&#xff0c;则被称为“中老年男人心目中的易梦玲”。数据…

矩阵病态问题

病态&#xff08;ill-conditioned)矩阵病态&#xff08;ill-posed)方程 病态矩阵 矩阵的frobenius范数&#xff1a; 对每一个元素平方&#xff0c;求和再开平方 矩阵的条件数&#xff1a;矩阵的frobenius范数与该矩阵的逆的frobenius范数的乘积 对于同阶矩阵&#xff0c;矩阵的…