每日两题1

文章目录

  • 使用最小花费爬楼梯
  • 91解码方法

使用最小花费爬楼梯

在这里插入图片描述

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

空间复杂度可以优化为O(1);
可以试着倒着走,时间及空间复杂度不变;

91解码方法

题目
在这里插入图片描述

class Solution {
public:int numDecodings(string s) {//1.创建dp表//2.初始化//3.填表//4.返回值vector<int> dp(s.size());dp[0] = s[0] != '0';//对于第一个字符,若不是0、则从在一个解,否则,不存在解//处理边界if(s.size() == 1) return dp[0];if(s[0] != '0' && s[1] != '0') dp[1] += 1;int t = (s[0] - '0') * 10 + s[1] - '0';//   前两个字符编码if(t >= 10 && t <= 26)  dp[1] += 1;for(int i = 2; i < s.size(); i++){if(s[i] != '0') dp[i] += dp[i-1];//处理单独编码int t = (s[i-1] - '0') * 10 + s[i] - '0';if(t >= 10 && t <= 26)  dp[i] += dp[i-2];}return dp[s.size()-1];}
};

优化:

class Solution {
public:int numDecodings(string s) {//优化vector<int> dp(s.size()+1);dp[0] = 1;//保证后面的填表具有正确性dp[1] = s[1 - 1] != '0';for(int i = 2; i <= s.size(); i++){if(s[i - 1] != '0') dp[i] += dp[i-1];//处理单独编码int t = (s[i - 2] - '0') * 10 + s[i - 1] - '0';if(t >= 10 && t <= 26)  dp[i] += dp[i-2];}return dp[s.size()];}
};

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

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

相关文章

书生·浦语大模型全链路开源体系-第4课

书生浦语大模型全链路开源体系-第4课 书生浦语大模型全链路开源体系-第4课相关资源XTuner 微调 LLMXTuner 微调小助手认知环境安装前期准备启动微调模型格式转换模型合并微调结果验证 将认知助手上传至OpenXLab将认知助手应用部署到OpenXLab使用XTuner微调多模态LLM前期准备启动…

【MySQL数据库】 (篇一 ) 让你快速上手——新手速通版

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、如何起步&#xff1f;&#x1f3c3;‍1.创建数据库&#xff1a;2.选择数据库&#xff1a;3.删除数据库&#xff1a;4.创建表&#xff1a;5.删除表&#xff…

冒泡排序的时间复杂度的讲解

冒泡排序代码&#xff1a; 冒泡排序的时间复杂度&#xff1a; 最坏情况&#xff1a; 遍历了n-1&#xff0c;n-2&#xff0c;n-3......才让数字来到该处于的位置&#xff0c;而这是一个等差数列&#xff08;n-1&#xff0c;n-2&#xff0c;n-3......&#xff09;&#xff0c;该数…

四川教育装备行业协会考察团走访云轴科技ZStack共话技术创新应用

近日&#xff0c;四川省教育装备行业协会高等教育技术专业委员会组织了一次深入的考察活动&#xff0c;旨在加强与其他省市高校及企业之间的交流与合作&#xff0c;学习借鉴先进的教育装备与管理经验&#xff0c;以提升本省的高等教育技术水平。考察团一行先后走访了武汉理工大…

2024-6.python流程控制

流程控制 流程控制指的是代码运行逻辑、分支走向、循环控制&#xff0c;是真正体现程序执行顺序的操作。 程序是由语句构成&#xff0c;而流程控制语句 是用来控制程序中每条语句执行顺序的语句。可以通过控制语句实现更丰富的逻辑以及更强大的功能。几乎所有编程语言都有流程…

Nacos源码分析,Nacos gRPC服务端设计

作为SpringCloudAlibaba微服务架构实战派上下册和RocketMQ消息中间件实战派上下册的作者&#xff0c;我来给大家分析一下Nacos的源码。 Nacos支持采用gRPC作为通信渠道&#xff0c;并且针对Nacos集群之间的通信以及客户端和Nacos服务端之间的通信&#xff0c;同时启动了两个相…

Spring (四) 之配置及配置文件的操作

文章目录 1、Spring 基于注解的配置基于注解的配置引入依赖包配置实体类数据访问层业务层业务层实现测试 2、Bean和Component和Configuration的区别1 Bean:2 Component:3 Configuration:总结&#xff1a; 区别Component和Configuration区别 3、Spring读取properties配置文件准备…

使用 strace 进行调试

strace 是可用于调试任何正在运行的程序的最佳工具之一。在我们深入之前&#xff0c;您需要熟悉系统调用。熟悉它们非常重要&#xff0c;因为 strace 公开了程序正在使用的系统调用。因此&#xff0c;在介绍 strace 之前&#xff0c;先介绍一些常见的系统调用。 系统调用是“应…

C++语言·类和对象

1. 类的引入 C语言结构体中只能定义变量&#xff0c;但在C中&#xff0c;结构体内不仅可以定义变量&#xff0c;也可以定义函数&#xff0c;同时C中struct的名称就可以代表类型&#xff0c;不用像C那样为了方便还要typedef一下。 在C中我们管定义的结构体类型叫做类(student)&a…

HDLbits 刷题 -- Mux256to1

Create a 1-bit wide, 256-to-1 multiplexer. The 256 inputs are all packed into a single 256-bit input vector. sel0 should select in[0], sel1 selects bits in[1], sel2 selects bits in[2], etc. Expected solution length: Around 1 line. 译&#xff1a; 创建一个…

Linux中用户通过系统调用实现硬件驱动全流程

驱动全流程&#xff1a; 以基于设备树、Pinctrl、gpio子系统&#xff0c;打开一个字符设备为例&#xff1a; 1、通过系统调用open进入内核 当我们在用户空间调用open之后&#xff0c;应用程序会使用系统调用指令&#xff08;在上图中可看到&#xff0c;ARM架构中软中断汇编指…

Linux上的可执行文件在Windows上是不能运行的

一、概要 1、可执行文件的格式 Linux上的可执行文件是elf格式的 Windows上的可执行文件是exe格式的 Linux上的可执行文件在Windows上是不能运行的 2、程序的普通构建与静态构建 普通构建&#xff1a; 一个.c文件&#xff0c;用gcc命令编译成可执行文件(程序)&#xff0c…