wy的leetcode刷题记录_Day74

news2025/1/16 6:35:18

wy的leetcode刷题记录_Day74

声明

本文章的所有题目信息都来源于leetcode
如有侵权请联系我删掉!
时间:2024-01-10

前言

目录

  • wy的leetcode刷题记录_Day74
    • 声明
    • 前言
    • 2696. 删除子串后的字符串最小长度
      • 题目介绍
      • 思路
      • 代码
      • 收获
    • 64. 最小路径和
      • 题目介绍
      • 思路
      • 代码
      • 收获
    • 63. 不同路径 II
      • 题目介绍
      • 思路
      • 收获

2696. 删除子串后的字符串最小长度

今天的每日一题是:2696. 删除子串后的字符串最小长度

题目介绍

给你一个仅由 大写 英文字符组成的字符串 s 。

你可以对此字符串执行一些操作,在每一步操作中,你可以从 s 中删除 任一个 “AB” 或 “CD” 子字符串。

通过执行操作,删除所有 “AB” 和 “CD” 子串,返回可获得的最终字符串的 最小 可能长度。

注意,删除子串后,重新连接出的字符串可能会产生新的 “AB” 或 “CD” 子串。

示例 1:
输入:s = “ABFCACDB”
输出:2
解释:你可以执行下述操作:

  • 从 “ABFCACDB” 中删除子串 “AB”,得到 s = “FCACDB” 。
  • 从 “FCACDB” 中删除子串 “CD”,得到 s = “FCAB” 。
  • 从 “FCAB” 中删除子串 “AB”,得到 s = “FC” 。 最终字符串的长度为 2 。 可以证明 2 是可获得的最小长度。

示例 2:
输入:s = “ACBBD”
输出:5
解释:无法执行操作,字符串长度不变。

思路

难得一道简单题:我的想法就是用栈去模拟一遍,很类似后缀表达式的符号栈,只要符合规则就出栈否则就入栈,最后栈中剩余元素个数就是不符合规则的个数。

代码

class Solution {
public:
    int minLength(string s) {
        int n=s.size();
        stack<char> stk;
        for(int i=0;i<n;i++)
        {
            if(stk.empty())
            {
                stk.push(s[i]);         
            }
            else if((s[i]=='B'&&stk.top()=='A')||s[i]=='D'&&stk.top()=='C')
            {
                stk.pop();
            }
            else
                stk.push(s[i]);
        }
        return stk.size();
    }
};

收获

熟练了栈的应用

64. 最小路径和

64. 最小路径和

题目介绍

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

示例 1:图片来自leetcode

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:7
解释:因为路径 1→3→1→1→1 的总和最小。

示例 2:
输入:grid = [[1,2,3],[4,5,6]]
输出:12

思路

与上一篇文章中的不同路径十分类似,都是二维动态规划,同样的只能向下或者向右遍历因此递推公式没有变, 不过需要计算最小的路径代价,于是我使用一个二维数组来代表path[i][j]来表示到(i,j)所需要的代价,最后返回path[m-1][n-1]

代码

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        int m=grid.size();
        int n=grid[0].size();
        vector<vector<int>> path(m,vector<int>(n));
        path[0][0]=grid[0][0];
        for(int i=1;i<n;i++)
        {
            path[0][i]+=path[0][i-1]+grid[0][i];
        }
        for(int i=1;i<m;i++)
        {
            path[i][0]+=path[i-1][0]+grid[i][0];
        }

        for(int i=1;i<m;i++)
        {
            for(int j=1;j<n;j++)
            {
                path[i][j]=min(path[i-1][j],path[i][j-1])+grid[i][j];
            }
        }
        return path[m-1][n-1];
    }
};

收获

巩固动态规划

63. 不同路径 II

63. 不同路径 II

题目介绍

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

网格中的障碍物和空位置分别用 1 和 0 来表示。

示例 1:
在这里插入图片描述
输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出:2
解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:

  1. 向右 -> 向右 -> 向下 -> 向下
  2. 向下 -> 向下 -> 向右 -> 向右

示例 2:
在这里插入图片描述
输入:obstacleGrid = [[0,1],[0,0]]
输出:1

思路

与不同路径I相同的递归方法,不过多了一个条件就是障碍物,当路径上出现障碍物的时候那么表示这条路径不可通立马将path[i][j]置为0即可。

收获

巩固了动态规划

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

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

相关文章

DataFrame详解

清洗相关的API 清洗相关的API: 1.去重API: dropDupilcates 2.删除缺失值API: dropna 3.替换缺失值API: fillna 去重API: dropDupilcates dropDuplicates(subset):删除重复数据 1.用来删除重复数据,如果没有指定参数subset,比对行中所有字段内容,如果全部相同,则认为是重复数据,…

Maven报错:Malformed \uxxxx encoding 解决办法

maven构建出现这个Malformed \uxxxx encoding问题&#xff0c;应该是maven仓库里面有脏东西进入了&#xff01; 解决&#xff1a; 将仓库中的resolver-status.properties文件全部干掉。 我使用的everything工具全局搜索resolver-status.properties文件&#xff0c;然后Ctrla,再…

Go语言学习笔记(二)

Go语言的学习资源 以下是一些推荐的Go语言学习资源的链接&#xff1a; Go语言教程&#xff1a;https://golang.org/doc/Go by Example&#xff1a;Go by ExampleGolang Tutorials&#xff1a;https://golangtutorials.com/Go语言第一课&#xff08;慕课网&#xff09;&#x…

df -h的值详细介绍

正文: 在 Linux 系统中&#xff0c;了解不同类型的文件系统及其作用是非常重要的。这不仅有助于系统管理&#xff0c;还可以在进行数据存储和优化时做出明智的决策。以下是一个常见的 Linux 文件系统配置的概述&#xff0c;包括每个文件系统的作用和重要性。 操作图片: dev…

Genie Nano-10GigE M/C8200工业相机全面投入生产

6700万像素 业界最小 适用于高性能图像采集 近日&#xff0c;Teledyne DALSA宣布基于Teledyne e2v 67M单色和彩色传感器的Nano-10GigE M8200和C8200工业相机现已进入全面生产阶段。 全新Genie Nano-10GigE 67M相机是业界最小的10GigEVision相机型号&#xff0c;可实现高达14…

快乐学Python,数据分析之获取数据方法「公开数据或爬虫」

学习Python数据分析&#xff0c;第一步是先获取数据&#xff0c;为什么说数据获取是数据分析的第一步呢&#xff0c;显而易见&#xff1a;数据分析&#xff0c;得先有数据&#xff0c;才能分析。 作为个人来说&#xff0c;如何获取用于分析的数据集呢&#xff1f; 1、获取现成…

将dumpbin从Visual Studio中抠出来,并使用dumpbin查看exe和dll库的依赖关系

目录 1、初步说明 2、在开发的机器上使用dumpbin工具查看dll库的依赖关系 3、将dumpbin.exe从Visual Studio中抠出来 3.1、找到dumpbin.exe文件及其依赖的dll文件 3.2、在cmd中运行dumpbin&#xff0c;提示找不到link.exe文件 3.3、再次运行dumpbin.exe提示找不到mspdb10…

2024年第九届机器学习技术国际会议(ICMLT 2024) 即将召开

2024年第九届机器学习技术国际会议&#xff08;ICMLT 2024&#xff09;将于2024年5月24-26日在挪威奥斯陆举行。ICMLT 2024旨在讨论机器学习技术领域的最新研究技术现状和前沿趋势&#xff0c;为来自世界各地的科学家、工程师、实业家、学者和其他专业人士提供一个互动和交流的…

【算法】LRU算法

LRU算法 LRU(Least Recently Used) 即最近最少使用&#xff0c;属于典型的内存淘汰机制。 根据数据的历史访问记录来进行淘汰数据&#xff0c;其核心思想是“如果数据最近被访问过&#xff0c;那么将来被访问的几率也更高”&#xff0c;其思路如下图所示&#xff1a; 该算法需…

了解ASP.NET Core 中的文件提供程序

写在前面 ASP.NET Core 通过文件提供程序来抽象化文件系统访问。分为物理文件提供程序(PhysicalFileProvider)和清单嵌入的文件提供程序(ManifestEmbeddedFileProvider)还有复合文件提供程序(CompositeFileProvider )&#xff1b;其中PhysicalFileProvider 提供对物理文件系统…

PPT插件-大珩助手-选择同类

选择同类-颜色 对于选中的形状&#xff0c;一键选中当前页中的所有相同颜色的形状 选择同类-文本 一键选择当前页中的所有文本对象 选择同类-非文本 一键选择当前页中的所有非文本对象 选择同类-反选 一键选择当前页未选择的对象 软件介绍 PPT大珩助手是一款全新设计的…

【读书笔记】《白帽子讲web安全》浏览器安全

目录 第二篇 客户端脚本安全 第2章 浏览器安全 2.1同源策略 2.2浏览器沙箱 2.3恶意网址拦截 2.4高速发展的浏览器安全 第二篇 客户端脚本安全 第2章 浏览器安全 近年来随着互联网的发展&#xff0c;人们发现浏览器才是互联网最大的入口&#xff0c;绝大多数用户使用互联…

【办公类-19-01】20240108图书统计登记表制作(23个班级)EXCEL复制表格并合并表格

背景需求&#xff1a; 制作一个EXCEL模板&#xff0c;每个班级的班主任统计 班级图书量&#xff08;一个孩子10本&#xff0c;最多35个孩子350本&#xff09; EXCEL模板 1.0版本&#xff1a; 将这个模板制作N份——每班一份 项目:班级图书统计表 核心:一个EXCEL模板批量生成…

合宙海外模组硬核出击,Air780UAAir780UU全新上市

简介 随着国内市场竞争日趋激烈&#xff0c;企业产品出海已呈如火如荼之势&#xff0c;向外发展拼商机更需硬核优势。 合宙作为物联网行业的核心器件提供商&#xff0c;将逐步推出系列高性价比海外模组&#xff0c;全面助力行业客户出海。现针对亚太、欧洲地区&#xff0c;全…

ChatGPT知名开源项目有哪些

ChatGPT-Next-Web&#xff1a;基于ChatGPT API的私有化部署网页聊天系统 主要功能&#xff1a; 只需在 1 分钟内即可在 Vercel 上一键免费部署&#xff0c;支持私有服务器快速部署&#xff0c;支持使用私有域名支持ChatGPT3.5、4等常见模型Linux/Windows/MacOS 上的紧凑型客户…

【Java】知识——各类编码格式以及样例

一、 #ASCII 码 计算机内所有的信息都是二进制位。一个字节包含 8 个二进制位&#xff0c;可以表示 256 个状态&#xff0c;每个状态表示一个符号。 ASCII 码一共规定了128个字符的编码&#xff0c;比如空格 SPACE 是32&#xff08;二进制00100000&#xff09;&#xff0c;大写…

Shopee买家通系统:轻松获取虾皮买手号的智能利器

近来&#xff0c;有一款强大的软件引起了广泛关注&#xff0c;它就是Shopee买家通系统&#xff0c;为用户提供了自动化注册虾皮买手号的便捷途径。目前&#xff0c;该软件已覆盖菲律宾、泰国、马来西亚、越南、巴西、印度尼西亚等多个国家&#xff0c;为用户提供更广泛的服务。…

CUTANA™ pAG-Tn5 for CUTTag

CUTANA pAG-Tn5是靶向剪切及转座酶(CUT&Tag)技术中进行高效绘制染色质特征的关键试剂。与ChIP-seq相比&#xff0c;CUT&Tag在降低细胞需求量和测序深度的信噪比方面进行了显著改进。CUTANA pAG-Tn5是一种高活性的E. coli转座酶突变体(Tn5)与蛋白A/G的融合产物&#xff…

龍运当头--html做一个中国火龙祝大家龙年大吉

🐉效果展示 🐉HTML展示 <body> <!-- partial:index.partial.html --> <svg><defs><g id=