【Algorithm】三步问题

news2024/11/15 2:05:49

欢迎来到 破晓的历程的 博客

⛺️不负时光,不负己✈️

文章目录

    • 1.三步问题
      • 1.题目连接
      • 2.算法原理讲解&&代码实现
    • 2.最小花费爬楼梯
      • 1.题目连接
      • 2.算法原理讲解&&代码实现
    • 3.解码方法
      • 1.题目连接
      • 2.算法原理讲解&&代码实现

1.三步问题

1.题目连接

  • 三步问题

2.算法原理讲解&&代码实现

  • 动态规划–线性dp
    • 线性表示:

      • dp[i]:到达第i级台阶一共有多少种选择。
    • 状态转移方程

      • dp[i]=dp[i-1]+dp[i-2]+dp[i-3]
class Solution {
public:
    int waysToStep(int n) {
        if(n==1||n==2)return n;
        if(n==3) return 4;
        vector<int> dp(n);
        for(int i=4;i<=n;i++)
        {
            dp[i]=dp[i-1]+dp[i-2]+dp[i-3];
        }
        return dp[n];

    }
};

2.最小花费爬楼梯

1.题目连接

  • 最小花费爬楼梯

2.算法原理讲解&&代码实现

方法1

  • 动态规划–线性dp
    • 线性表示:

      • dp[i]:到达第i级台阶需要花费多少钱。
    • 状态转移方程

      • dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])
class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int n=cost.size();
        if(n==1||n==0) return 0;
        vector<int> dp(n+1);
        dp[0]=0;
        dp[1]=0;
        for(int i=2;i<=n;i++)
        {
            dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        return dp[n];

    }
};

方法2

  • 动态规划–线性dp
    • 线性表示:

      • dp[i]:从i级台阶出发,爬到顶需要花费多少钱。
    • 状态转移方程

      • dp[i]=min(dp[i+1]+cost[i],dp[i+2]+cost[i])
class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int n=cost.size();
        if(n==0||n==1) return 0;
        vector<int> dp(n);
        dp[n-1]=cost[n-1];
        dp[n-2]=cost[n-2];
        for(int i=n-3;i>=0;i--)
        {
            dp[i]=min(dp[i+1]+cost[i],dp[i+2]+cost[i]);

        }
        return dp[0]>dp[1]?dp[1]:dp[0];
    }
};

3.解码方法

1.题目连接

  • 解码方法

2.算法原理讲解&&代码实现

  • 动态规划–线性dp
    • 线性表示:

      • dp[i]:到达第i个字符一共有多少种解码方式。
    • 状态转移方程

      • dp[i]=dp[i-1]+dp[i-2]
class Solution {
public:
    int numDecodings(string s) {
        int n=sizeof(s);
        vector<int> dp(n);
        dp[0]=s[0]=!'0';
        if(n==1) return dp[0];

        if(s[1]!='0'&&s[1]!='0') dp[1]+=1;
        int ret=(s[0]-'0')*10+(s[1]-'0');
        if(ret>=10&&ret<=26) dp[1]+=1;

        for(int i=2;i<n;i++)
        {
            if(s[i]!='0') dp[i]+=dp[i-1];
            int re=(s[i-1]-'0')*10+(s[i]-'0');
            if(re>=10&&re<=26) dp[i]+=dp[i-2];
        }
        return dp[n-1];

    }
};

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

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

相关文章

储能bms-下电延时方案分享

下电延时功能在很多bms方案中是很常见的&#xff0c;主要是用来存储SOC,故障码&#xff0c;以及电池的一些重要信息&#xff0c;下图展示的是一种实现方案&#xff0c;VCC5V_A_ENIN在硬件上直接连接到三极管的后端&#xff0c;在ACC信号给过来之后&#xff0c;跳过三极管&#…

我在高职教STM32——ADC电压采集与光敏电阻(2)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正是如此,才有了借助头条平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思设计的教学课件分…

中小型工厂企业数字化ERP管理系统(源码+功能方案)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本&#xff0c;并实时掌握各环节的运营状况。 在采购管理方面&#xff0c;系统能够处理采购订单、供应商管理和采购入库等流程&#xff…

里程牌!EGFR抑制剂+双抗联合方案获批,显著延长肺癌患者生存期

前言&#xff1a; EGFR是抗肿瘤领域最经典的靶点&#xff0c;以其为靶点的小分子抑制剂、单抗、双抗和ADC研究层出不穷&#xff0c;但耐药性接踵而来。本文就EGFR结构、耐药机制和药物研发情况进行综述&#xff0c;以期设计出更优秀的药物&#xff0c;使更多患者获益。 EGFR的…

大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

活动|华院计算主办数智人系列沙龙,探讨人工智能如何赋能内容营销

在科技日新月异的今天&#xff0c;人工智能正以前所未有的速度重塑着我们的世界&#xff0c;它不仅深刻改变了传统行业的运作模式&#xff0c;更在电商零售、客户服务、保险金融等多个领域开辟了全新的生态与可能。其中&#xff0c;数智人作为大语言模型、音视频生成等人工智能…

【开端】开发团队如何应对突发的技术故障和危机

开发团队如何应对突发的技术故障和危机&#xff1f; 在数字化时代&#xff0c;软件服务的稳定性至关重要。然而&#xff0c;即便是像网易云音乐这样的大型平台&#xff0c;也难免遇到突发的技术故障。8月19日下午&#xff0c;网易云音乐疑似出现服务器故障&#xff0c;网页端出…

选择护眼台灯的标准是什么?2024值得入手的护眼台灯推荐

2022年3月1日起&#xff0c;正式实施的《儿童青少年学习用品近视防控卫生要求》&#xff08;GB 40070-2021&#xff09;规定了与近视防控相关的读写作业台灯卫生要求。要求从照度、均匀度、显色指数、色温、防蓝光等方面去完善护眼台灯&#xff0c;可见国家多这方面多么的重视&…

黑神话悟空爆火,有人靠它赚翻了!

黑神话悟空&#xff0c;这个游戏最近爆火&#xff0c;相信很多人都知道。 这样的热点事件&#xff0c;对于大多数人来说&#xff0c;那就是图个热闹&#xff0c;吃个瓜&#xff1b; 但对于那些混在互联网副业圈里的&#xff0c;那闻到的都是钱味。 热点事件&#xff0c;意味…

2025长江流域跨境电商展:Temu在丹麦的惊人崛起,跨境电商的新风向标

Temu在丹麦的惊人崛起&#xff1a;跨境电商的新风向标 在全球化电商竞争日益激烈的今天&#xff0c;一个新兴的电商平台能够在短短时间内超越行业巨头亚马逊&#xff0c;成为丹麦消费者的首选&#xff0c;无疑是一个值得关注的现象。拼多多海外分支Temu正是这样一个平台&#…

支付宝开放平台-开发者社区——AI 日报「8 月 26 日」

1 国产机器人黑马首次登场&#xff0c;打螺丝堪比擎天柱&#xff01;国家队全栈自主研发 新智元丨阅读原文 浙江人形机器人创新中心研发的领航者2号 NAVIA1&#xff0c; 在2024 世界机器人大会上首次亮相&#xff0c;展示了其类人外观和高智能作业能力。这款1.65 米高、60公斤…

蓝牙耳机什么价位的性价比高?2024百元性价比品牌机型推荐

随着科技的不断进步&#xff0c;蓝牙耳机已成为现代人日常生活中不可或缺的配件之一&#xff0c;市场上的蓝牙耳机品牌和型号繁多&#xff0c;价格也从几十元到几千元不等&#xff0c;使得消费者在选择时往往感到眼花缭乱&#xff0c;那么蓝牙耳机什么价位的性价比高&#xff1…

安科瑞AEW100电力改造智能电力仪表,体积小巧

AEW100电力改造用智能电力仪表主要用于计量低压网络的三相有功电能&#xff0c;具有RS485通讯和470MHz无线通讯功能&#xff0c;方便用户进行用电监测、集抄和管理。 功能&#xff1a; AEW100电力改造用智能电力仪表主要用于计量低压网络的三相有功电能&#xff0c;具有RS485…

ssm动漫展示系统-计算机毕业设计源码12113

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据新增流程 3.2.2 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 系统总体设…

如何根据不同的场景选择合适的报表格式?一文详细解答

在处理数据的过程中&#xff0c;许多人常感困扰于报表格式选择的多样性&#xff0c;这源于面对纷繁复杂的数据集时&#xff0c;难以迅速锁定最适合的呈现方式。这种迷茫感源于报表设计的灵活性&#xff0c;每种格式都针对特定情境和数据特性精心打造。 不必为选择何种报表格式…

Dooring智图,一款开箱即用的图片海报编辑器

嗨, 大家好, 我是徐小夕. 之前一直在社区分享零代码&低代码的技术实践&#xff0c;也陆陆续续设计并开发了多款可视化搭建产品&#xff0c;比如&#xff1a; Nocode/Doc&#xff0c;可视化 零代码打造下一代文件编辑器爆肝1000小时, Dooring零代码搭建平台3.5正式上线可视化…

产品小白学习及求职的3个误区,看看自己中招了没?

产品经理是互联网行业中颇有“钱”途的岗位&#xff0c;学习的人也最多&#xff0c;很多小白在学习产品的过程中或多或少的会踩坑&#xff0c;进入误区&#xff0c;小编本文就总结了小白学习产品的3大误区&#xff0c;快来看看自己中招了没吧。 1、画出漂亮的高保真原型就能当产…

骨传导耳机最热门好用款推荐,保你不会踩雷!

耳机发展到现在已经经历了无数次的迭代更新。从有线耳机到如今的无线耳机以及骨传导耳机&#xff0c;功能也更加的全面&#xff0c;从当初的只是用来听音乐&#xff0c;到如今的追求音质、舒适、防水等功能&#xff0c;在无线耳机的市场中&#xff0c;骨传导耳机尤为受欢迎&…

docke进阶---镜像迁移、容器的ip地址、端口映射和持久化

1.镜像的迁移 1.镜像打包 #查看镜像有一个centos的镜像 [rootdocker0 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 5d0da3dc9764 2 years ago 231MB 3查看帮助文件 docker --help save Save one or more…

查找3(红黑树、B树)

一、红黑树 1&#xff09;红黑树的定义和性质 不包括根节点本身的那个黑 2&#xff09;红黑树的查找 3&#xff09;红黑树的插入 4)删除操作 二、B树 1&#xff09;概念B树的查找 2&#xff09;B树的插入 3)B树的删除 三、B树 B树 B树 和OS相关 读磁盘时间开销大