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

文章目录

  • 题目
  • 思路
  • 代码

题目

2696. 删除子串后的字符串最小长度
在这里插入图片描述

思路

计算通过删除字符串中的 “AB” 和 “CD” 子串后,可获得的最终字符串的最小长度。
主要思路是使用一个栈来模拟字符串的处理过程,每次遍历字符串时,如果当前字符和栈顶的字符能够组成 “AB” 或 “CD” 子串,就将栈顶元素弹出,表示删除这个子串;否则,将当前字符压入栈中。
在最终,栈中剩余的字符即为无法删除的字符,其个数即为最小长度。

代码

class Solution {
public:int minLength(string s) {stack<char> stk;for(auto t : s) {if(stk.size() && ((t == 'B' && stk.top() == 'A') || (t == 'D' && stk.top() == 'C'))) stk.pop();else stk.push(t);}return stk.size();}
};

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

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

相关文章

vmlinux, System.map; cmake的find_package(Clang)产生的变量们; geogebra单位切向量(简单例子)

linux4.15.y内核中的函数个数 依赖关系: vmlinux, vmlinux.bin, bzImage cd /bal/linux-stable/ file vmlinux #vmlinux: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, BuildID[sha1]b99bbd9dda1ec2751da246d4a7ae4e6fcf7d789b, not str…

【模型评估 04】A/B测试的陷阱

互联网公司中&#xff0c;A/B测试是验证新模块、新功能、新产品是否有效&#xff1b;新算法、新模型的效果是否有提升&#xff1b;新设计是否受到用户欢迎&#xff1b;新更改是否影响用户体验的主要测试方法。在机器学习领域中&#xff0c;A/B测试是验证模型最终效果的主要手段…

Windows下安装部署Redis

一、下载 地址&#xff1a;https://github.com/MSOpenTech/redis/releases Redis-x64-3.2.100.msi版的比较简单&#xff0c;下载之后直接下一步&#xff0c;下一步… 即可完成安装部署。 这里主要演示Redis-x64-3.2.100.zip的安装部署过程&#xff0c;将Redis-x64-3.2.100.z…

超维空间M1无人机使用说明书——61、ROS无人机物体识别与精准投放

引言&#xff1a;基于空中物流的项目背景。我们提供了使用基于诗句的物体识别和精准投放、降落。实现原理如下&#xff1a; 1、在ROS下使用机载电脑实现物体识别 2、记载电脑根据反馈的位置发布运动控制指令 3、PX4解析机载电脑发布的命令&#xff0c;作出运动控制 4、设置…

MySQL的Windows系统安装

一、MySQL的Windows系统安装 1、下载MySQL安装包 打开如下链接地址&#xff0c;下载安装包 2、安装并配置 双击下载好的安装包进行安装&#xff0c;出现如下界面&#xff1a; 选择【 Full 】选项&#xff0c;然后单击【 Next 】按钮。 出现如下界面&#xff0c;单击【 Execute…

计算机毕业设计---SSH协会志愿者服务管理系统

项目介绍 该项目分为前后台&#xff0c;分为管理员与普通用户两种角色&#xff0c;前台为普通用户登录&#xff0c;后台为管理员登录&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,管理员管理,志愿者管理,活动管理,捐赠管理,关于我们管理,友情链接管理,新闻类…

第11章 GUI Page495~496 步骤三十一:另存为别的文件,为TrySaveFile()入参设置一些位操作

工程二 头文件中为TrySaveFile()入参设置一些位操作&#xff0c;修改一下TrySaveFile()的入参类型 修改TrySaveFile()的实现&#xff1a; 修改“保存”菜单项挂接事件响应函数: 修改“另存为”菜单项挂接事件响应函数

代码结构:为何重要算法不和接口编译到一个dll里面

这里是vision master的例子。 有两点需要向他学习的。 1 需要每个算子是一个dll。优点是方便业务上&#xff0c;针对不同的算子精细化的更新&#xff0c;或者售卖。 2 每个算子的dll我们理解&#xff0c;内容主要是其接口的实现。而真正的算法内容是在上面的algorithm.dll中…

竞赛保研 基于深度学习的视频多目标跟踪实现

文章目录 1 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的视频多目标跟踪实现 …

vscode+opencv基础用法学习1

案例1&#xff1a;读取图片信息 如果是使用云服务器的话&#xff0c;由于图形界面的问题&#xff0c;使用cv::show来显示图片会报错 // 图片的读取和显示 // 导入opencv头文件 #include "opencv2/opencv.hpp" #include <iostream>int main(int argc, char** …

win10在启动游戏时报错,提示“d3dx9_25.dll文件丢失”,怎么办?d3dx9_25.dll丢失如何自动修复

一、d3dx9_25.dll文件是什么&#xff1f; d3dx9_25.dll是DirectX的一部分&#xff0c;DirectX是一种由微软开发的专门处理与多媒体、游戏程序和视频相关的应用程序接口。d3dx9_25.dll文件是DirectX9中一个重要的dll文件&#xff0c;主要负责处理3D图形程序&#xff0c;作用是帮…

React Native 环境安装

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases. 搭建开发环境 React Native 中文网 Homebrew&#xff08;包管理器&#xff09; → rvm&#xff08;ruby版本管理&#xff09; → ruby → cocoapods 安装 Homebrew Homebrew /bin/ba…