当前位置: 首页 > news >正文

leetcode 3170. 删除星号以后字典序最小的字符串 中等

给你一个字符串 s 。它可能包含任意数量的 '*' 字符。你的任务是删除所有的 '*' 字符。

当字符串还存在至少一个 '*' 字符时,你可以执行以下操作:

  • 删除最左边的 '*' 字符,同时删除该星号字符左边一个字典序 最小 的字符。如果有多个字典序最小的字符,你可以删除它们中的任意一个。

请你返回删除所有 '*' 字符以后,剩余字符连接而成的 字典序最小 的字符串。

示例 1:

输入:s = "aaba*"

输出:"aab"

解释:

删除 '*' 号和它左边的其中一个 'a' 字符。如果我们选择删除 s[3] ,s 字典序最小。

示例 2:

输入:s = "abc"

输出:"abc"

解释:

字符串中没有 '*' 字符。

提示:

  • 1 <= s.length <= 10^5
  • s 只含有小写英文字母和 '*' 字符。
  • 输入保证操作可以删除所有的 '*' 字符。

分析:用一个长度为 26 的 vector 数组,记录每个对应字符出现的位置,并用 index 记录当前出现的字典序最小的字符的下标,用与字符串 s 等长的 flag 数组记录对应位置是否被删除。遍历 s,如果是字符,则对应下标的 vector 记录这个位置; 如果是 *,则将 vector 数组的 index 位置的最后一个位置去除,flag 对应位置标记 1.遍历完数组后,将所有 flag 为 0 的位置拼接,即可得到答案。

class Solution {
public:string clearStars(string s) {int index=30,flag[100010]={0};vector<int>pos[30];for(int i=0;i<s.length();++i){if(isalpha(s[i]))pos[s[i]-'a'].push_back(i),index=min(index,s[i]-'a');else{flag[i]=1;flag[pos[index][pos[index].size()-1]]=1;pos[index].pop_back();while(!pos[index].size()&&index<26)index++;}}string ans;for(int i=0;i<s.length();++i)if(!flag[i])ans+=s[i];return ans;}
};

http://www.xdnf.cn/news/921007.html

相关文章:

  • ADVANTEST R3764 66 R3765 67爱德万测试networki connection programming网络程序设计手册
  • c++ —— 内存管理
  • 【题解-洛谷】P1706 全排列问题
  • 前端开发中出现的跨域问题以及解决方案
  • win32相关(消息Hook)
  • 【LLM大模型技术专题】「入门到精通系列教程」基于ai-openai-spring-boot-starter集成开发实战指南
  • Git开发实战
  • Android 相对布局管理器(RelativeLayout)
  • 多模型协同:基于 SAM 分割 + YOLO 检测 + ResNet 分类的工业开关状态实时监控方案
  • ZephyrOS 嵌入式开发Black Pill V1.2之Debug调试器
  • CSS 预处理器与工具
  • Spring中循环依赖问题的解决机制总结
  • ROS2,工作空间中新建了一个python脚本,需要之后作为节点运行。告诉我步骤?
  • 【选配电脑】CPU核显工作机控制预算5000
  • vue · 插槽 | $slots:访问所有命名插槽内容 | 插槽的使用:子组件和父组件如何书写?
  • Bugku-CTF-Web安全最佳刷题路线
  • ubuntu中使用docker
  • HBuilderX安装(uni-app和小程序开发)
  • Qt Quick Layout功能及架构
  • 篇章十 数据结构——Java对象的比较
  • 高频 PCB 技术发展趋势与应用解析
  • WaytoAGI东京大会开启AI全球化新对话:技术无国界,合作促创新
  • 功能安全实战系列09-英飞凌TC3xx LBIST开发详解
  • 开源分享|适合初创商家的餐饮系统,基于thinkphp8+element-plus
  • RXCDR_CFG参数选择
  • Rest-Assured API 测试:基于 Java 和 TestNG 的接口自动化测试
  • 8.库制作与原理
  • JS的 DOM 尺寸与位置属性
  • Faiss向量数据库全面解析:从原理到实战
  • Bootstrap Blazor中实现富文本框Editor组件的内容导出为docx格式的Word文档