81、动态规划-爬楼梯

思路:

爬楼梯是一个特别经典的动态规划题,动态规划最好的办法就是从递归改到动态规划。

比如现在n阶楼梯,每次爬1阶或者2阶,一共有多少种方法。那么我就可以全排列,比如当前我可以走一阶算一下有多少种方法,然后我可以走两阶有多少种方法,然后想加就得到了最终方法数量。 但是其中是有重复计算的,比如每次都是要重复计算从当前阶到最后一阶的种类数。如果将之前的记录下来,是不是就可以提高效率了,这个就是递归。

首先递归的实现方式如下:

public static int climbStairs01(int n) {if (n<=0){return 0;}return process(0,n);}private static int process(int index, int n) {if (index==n){return 1;}if (index>n){return 0;}//走一步int p1=process(index+1,n);int p2=process(index+2,n);return p1+p2;}

这里计算时候就是在重复计算,这个就是我说的浪费。如果利用之前的计算不再进行重复计算那么就是动态规划。

动态规划代码如下:

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

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

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

相关文章

1.C#图像区域分割与提取

&#xff08;1&#xff09;创建一个名为SplitImage的窗体的应用程序&#xff0c;将窗体改名为FormSplitImage。 &#xff08;2&#xff09;创建一个名为ImageProcessingLibrary的类库程序&#xff0c;为该工程添加名为ImageProcessing的静态类 &#xff08;3&#xff09;为Imag…

负债56亿,购买理财产品遭违约,操纵虚假粉丝,流量在下滑,客户数量减少,汽车之家面临大量风险(一)

本文由猛兽财经历时5个多月完成。猛兽财经将通过以下二十二个章节、8万字以上的内容来全面、深度的分析汽车之家这家公司。 由于篇幅限制&#xff0c;全文分为&#xff08;一&#xff09;到&#xff08;十&#xff09;篇发布。 本文为全文的第一章、第二章、第三章。 目录…

Linux的软件包管理器-yum

文章目录 软件包的概念yum源的配置的原因yum的使用查看软件包安装软件卸载软件 软件包的概念 软件包(SoftWare Package)是指具有特定的功能&#xff0c;用来完成特定任务的一个程序或一组程序。可分为应用软件包和系统软件包两大类 在Linux系统中&#xff0c;下载安装软件的方式…

web自动化时,关闭浏览器“正受自动化控制“提示语和关闭保存密码提示框

1、问题描述&#xff1a; 问题1&#xff1a;期望关闭"Chrome正在被自动测试软件控制"提示语 问题2&#xff1a;关闭谷歌浏览器--是否保存密码弹窗 2、解决 from selenium.webdriver.chrome.options import Options from selenium import webdriveroptions Options…

Leetcode—857. 雇佣 K 名工人的最低成本【困难】(DBL_MAX)

2024每日刷题&#xff08;124&#xff09; Leetcode—857. 雇佣 K 名工人的最低成本 算法思想 实现算法 class Solution { public:double mincostToHireWorkers(vector<int>& quality, vector<int>& wage, int k) {double ans DBL_MAX;priority_queue&l…

canal 自定义客户端 优雅实现 (3)

1、为啥要有数据同步&#xff1f; 比如要做一些推荐或者其他与业务不强依赖的业务&#xff0c;这个时候&#xff0c;又不想直接去业务库取数据或者查数据进行计算&#xff0c;但是又需要业务库的某些数据&#xff1a; 比如用户行为。。。等 2、有很多数据同步&#xff0c;为啥…

【RAG 论文】Selfmem:使用 LLM 自己的输出来作为下一轮的 context 从而提升自己的生成效果

论文&#xff1a;Lift Yourself Up: Retrieval-augmented Text Generation with Self Memory ⭐⭐⭐⭐ NeurIPS 2023&#xff0c;北大 文章目录 一、论文速读二、实现细节2.1 检索增强的 Generator2.2 Memory Selector2.3 Generator 的两种 mode 总结 一、论文速读 在以为 RAG…

LLM系列(4):通义千问7B在Swift/DeepSpeed上微调秘诀与实战陷阱避坑指南

LLM系列(4):通义千问7B在Swift/DeepSpeed上微调秘诀与实战陷阱避坑指南 阿里云于 2023年8 月 3 日开源通义千问 70 亿参数模型,包括通用模型 Qwen-7B 以及对话模型 Qwen-7B-Chat,这也是国内首个开源自家大模型的大厂。在诸多权威大模型能力测评基准上,如 MMLU、C-Eval、…

规控不分家,实际岗位职责是如何划分的

1. 实践和演练 2. 自动驾驶技术分类 3. 自动驾驶关键技术 4. 自动驾驶架构 5. 感知perception

前端高频算法

分析算法排序&#xff1a; 时间复杂度: 一个算法执行所耗费的时间。 空间复杂度: 运行完一个程序所需内存的大小。 执行效率、内存消耗、稳定性 三方面入手。 1. 排序 1.1 冒泡排序 冒泡的过程只涉及相邻数据的交换操作&#xff0c;所以它的空间复杂度为 O(1)。 为了保证…

solidworks出现slderrresu.dll错误如何解决?亲测有效

通过近来给客户安装SolidWorks发现&#xff0c;SolidWorks2010、SolidWorks2012、SolidWorks2014、SolidWorks2015、SolidWorks2016、SolidWorks2017都会出现这个slderrresu.dll安装错误问题&#xff1a; 其实这个错误很好解决,主要是因為安裝中文版solidworks沒有選擇安裝中文…

社交媒体数据恢复:Tandem

Tandem数据恢复方法 1. 概述 Tandem 是致力於提供語言學習者和母語者交流的語言交換app&#xff0c;已發行iOS及Android版本。 使用者可以透過文字或者語音對談找到語言交換對象。 該應用程序於2020年4月支援超過160種語言&#xff0c;其中包含12種手語。 2. 操作步骤 2.1.…

linux 光驱(光盘)安装

文章目录 选择光盘自带 YUM 库创建 repo创建文件夹挂载光驱开机自启动挂载安装软件YUM 安装RPM 安装源码包安装 选择光盘 vmware 选择光盘 自带 YUM 库 ls /etc/yum.repos.d创建 repo vim /etc/yum.repo.d/demo.repo // 编写 repo 相关配置 [demo] namedemo baseurlfile://…

预训练模型介绍

一、什么是GPT GPT 是由人工智能研究实验室 OpenAI 在2022年11月30日发布的全新聊天机器人模型, 一款人工智能技术驱动的自然语言处理工具 它能够通过学习和理解人类的语言来进行对话, 还能根据聊天的上下文进行互动,能完成撰写邮件、视频脚本、文案、翻译、代码等任务 二、 为…

【Canvas技法】流星雨的实现

【关键点】 流星的绘制&#xff0c;本质上还是绘制一条直线&#xff0c;但在渲染上有差别。 通常绘制直线都是给的固定颜色&#xff0c;绘制流星给的是渐变色&#xff0c;渐变色的开头是与背景色对比度明显的亮色&#xff0c;结尾是与背景色相同的暗色&#xff0c;中间渐变过…

基于SSM的“一汽租车辆共享平台”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“一汽租车辆共享平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 租车界面 订单管理界面 财务报表界面 理赔界面 …

链表(数组实现的伟大二踢脚)

一.链表与数组 链表作为 C 语言中一种基础的数据结构&#xff0c;在平时写程序的时候用的并不多&#xff0c;但在操作系统里面使用的非常多。不管是RTOS还是Linux等使用非常广泛&#xff0c;所以必须要搞懂链表&#xff0c;链表分为单向链表和双向链表&#xff0c;单向链表很少…

c++大湾区模拟题4

一、单项选择题(共 15 题&#xff0c;每题 2 分&#xff0c;共计 30 分&#xff1b;每题有且仅有一个正确选项) 1. 以下哪些不是属于国家顶级域名的是&#xff08;&#xff09; A..au B..cn C.com D..jp 2. 一棵完全二叉树&#xff0c;共有 1234 个节点&#xff0c;其叶子…

2024年教你怎么将学浪视频保存到本地

你是否曾为无法将学浪视频保存到本地而烦恼&#xff1f;现在&#xff0c;我们将在2024年教给你如何解决这个问题&#xff01;只需简单几步操作&#xff0c;即可轻松将学浪视频保存到您的本地设备&#xff0c;随时随地想看就看&#xff01; 我已经将下载学浪的工具打包好了&…

与Apollo共创生态:探索自动驾驶的未来蓝图

目录 引言Apollo开放平台Apollo开放平台企业生态计划Apollo X 企业自动驾驶解决方案&#xff1a;加速企业场景应用落地Apollo开放平台携手伙伴共创生态生态共创会员权益 个人心得与展望技术的多元化应用数据驱动的智能化安全与可靠性的重视 结语 引言 就在2024年4月19日&#x…