LeetCode 1003. 检查替换后的词是否有效(栈)

1. 题目

给定有效字符串 “abc”。

对于任何有效的字符串 V,我们可以将 V 分成两个部分 X 和 Y,使得 X + Y(X 与 Y 连接)等于 V。(X 或 Y 可以为空。)那么,X + “abc” + Y 也同样是有效的。

例如,如果 S = “abc”,则有效字符串的示例是:“abc”,“aabcbc”,“abcabc”,“abcabcababcc”。无效字符串的示例是:“abccba”,“ab”,“cababc”,“bac”。

如果给定字符串 S 有效,则返回 true;否则,返回 false。

示例 1:
输入:"aabcbc"
输出:true
解释:
从有效字符串 "abc" 开始。
然后我们可以在 "a""bc" 之间插入另一个 "abc",产生 "a" + "abc" + "bc",即 "aabcbc"。示例 2:
输入:"abcabcababcc"
输出:true
解释:
"abcabcabc" 是有效的,它可以视作在原串后连续插入 "abc"。
然后我们可以在最后一个字母之前插入 "abc",产生 "abcabcab" + "abc" + "c",即 "abcabcababcc"。示例 3:
输入:"abccba"
输出:false示例 4:
输入:"cababc"
输出:false提示:
1 <= S.length <= 20000
S[i]'a''b'、或 'c'

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/check-if-word-is-valid-after-substitutions
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 首先字符串长度必须为3的倍数,且以 a 开始
  • 采用栈将 ab 压栈,遇到 c 的时候出栈,且栈顶必须为 b,后续为 a
  • 最后栈为空才全部匹配了
class Solution {
public:bool isValid(string S) {if(S.size()%3 != 0 || S[0] != 'a')return false;stack<char> stk;for(int i = 0; i < S.size(); ++i){if(S[i] == 'c'){if(stk.empty() || (!stk.empty() && stk.top() != 'b'))return false;else{stk.pop();if(stk.empty() || (!stk.empty() && stk.top() != 'a'))return false;elsestk.pop();}}elsestk.push(S[i]);}return stk.empty();}
};

在这里插入图片描述

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

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

相关文章

论文浅尝 - IJCAI2022 | 基于自适应虚词增强的小样本逆关系分类

论文作者&#xff1a;窦春柳&#xff0c;天津大学&#xff0c;研究方向&#xff1a;知识图谱论文链接&#xff1a;http://arxiv.org/abs/2204.12111代码地址&#xff1a;https://github.com/DOU123321/FAEA-FSRC摘要小样本关系分类&#xff08;Few-shot Relations Classificati…

Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系

这篇博文是临时增加出来的内容&#xff0c;主要是由于最近连载《Spring Cloud Alibaba基础教程》系列的时候&#xff0c;碰到读者咨询的大量问题中存在一个比较普遍的问题&#xff1a;版本的选择。其实这类问题&#xff0c;在之前写Spring Cloud基础教程的时候&#xff0c;就已…

这个开源数据集要在全球扩大中文NLP影响力,你也能来做贡献!

源 | 机器之心编辑部千言的升级重点聚焦大模型时代的机遇和挑战。「千言」是由百度联合中国计算机学会、中国中文信息学会共同发起的面向自然语言处理的开源数据集项目&#xff0c;旨在推动中文信息处理技术的进步。近日&#xff0c;在 2021 年 12 月 12 日的 WAVE SUMMIT2021 …

LeetCode 676. 实现一个魔法字典(哈希)

1. 题目 实现一个带有buildDict, 以及 search方法的魔法字典。 对于buildDict方法&#xff0c;你将被给定一串不重复的单词来构建一个字典。 对于search方法&#xff0c;你将被给定一个单词&#xff0c;并且判定能否只将这个单词中一个字母换成另一个字母&#xff0c;使得所…

技术动态 | 北大邹磊:图数据库中的子图匹配算法

转载公众号 | DataFunTalk分享嘉宾&#xff1a;邹磊 北京大学 教授编辑整理&#xff1a;xiaomei出品平台&#xff1a;DataFunTalk导读&#xff1a;本次讲座从图数据库中的核心查询算子——子图匹配入题&#xff0c;介绍了图数据库的基本概念、子图匹配的算法&#xff0c;以及在…

Spring Cloud Alibaba基础教程:Nacos的数据持久化

前情回顾&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式》《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程&a…

盘点我跳过的科研天坑,进坑就是半年白干

文 | 白鹡鸰 and 小轶 祝大家新年快乐&#xff01;去年白鹡鸰花了两个月&#xff0c;刷了八千篇Arxiv&#xff0c;结果发现很多论文存在一些比较“基本”的常见问题&#xff1a;研究问题和问题假设存在严重的漏洞&#xff0c;或者缺少充分的相关工作调研&#xff0c;导致所谓的…

LeetCode 553. 最优除法(数学)

1. 题目 给定一组正整数&#xff0c;相邻的整数之间将会进行浮点除法操作。例如&#xff0c; [2,3,4] -> 2 / 3 / 4 。 但是&#xff0c;你可以在任意位置添加任意数目的括号&#xff0c;来改变算数的优先级。你需要找出怎么添加括号&#xff0c;才能得到最大的结果&#…

论文浅尝 - ACL2022 | 子图检索增强的知识图谱问答方法

转载公众号 | 学术头条作者&#xff1a;张静&#xff08;中国人民大学&#xff09;&#xff0c;张晓康&#xff08;中国人民大学&#xff09;&#xff0c;于济凡&#xff08;清华大学&#xff09;&#xff0c;唐建&#xff08;魁北克人工智能研究所&#xff09;&#xff0c;唐杰…

Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置

前情回顾&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式》《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程&a…

2202年了,“小样本”还值得卷吗?

文 | Severus从一个应用实验引发的思考。大家好&#xff0c;我是Severus&#xff0c;一个在某厂做中文自然语言理解的老程序员。这个主题&#xff0c;源自于我之前在公司内做的一次技术分享。承接上一篇文章&#xff08;格局打开&#xff0c;带你解锁 prompt 的花式用法&#x…

LeetCode 1023. 驼峰式匹配(暴力匹配)

1. 题目 如果我们可以将小写字母插入模式串 pattern 得到待查询项 query&#xff0c;那么待查询项与给定模式串匹配。&#xff08;我们可以在任何位置插入每个字符&#xff0c;也可以插入 0 个字符。&#xff09; 给定待查询列表 queries&#xff0c;和模式串 pattern&#x…

图谱实战 | 谈元鹏:电力领域知识图谱技术进展与应用实践

转载公众号 | DataFunTalk 分享嘉宾&#xff1a;谈元鹏 中国电力科学研究院编辑整理&#xff1a;monk 国家管网出品平台&#xff1a;DataFunTalk导读&#xff1a;知识图谱相关技术在开发和应用过程中&#xff0c;通常需要跟行业或者业务领域进行高度融合。但是在行业知识图谱构…

Spring Cloud Alibaba基础教程:Nacos配置的多环境管理

前情回顾&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式》《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程&a…

LeetCode 423. 从英文中重建数字(找规律)

1. 题目 给定一个非空字符串&#xff0c;其中包含字母顺序打乱的英文单词表示的数字0-9。按升序输出原始的数字。 注意: 输入只包含小写英文字母。 输入保证合法并可以转换为原始的数字&#xff0c;这意味着像 “abc” 或 “zerone” 的输入是不允许的。 输入字符串的长度小于…

朱松纯:AI 需由“心”驱动,实现“心”与“理”的动态平衡

朱松纯北京通用人工智能研究院院长北京大学讲席教授清华大学基础科学讲席教授引言1.1 人生轨道&#xff1a;跃迁与升华人生一世所追求的&#xff0c;用世俗的语言来讲&#xff0c;无非三个层次&#xff1a;第一就是活着&#xff0c; 这对应于马斯洛七层需求理论&#xff08;hi…

Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解

前情回顾&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式&#xff08;RestTemplate、WebClient、Feign&#xff09;》《Spring Cloud Alibaba基础教程&#xff1a;使…

LeetCode 881. 救生艇(贪心,双指针)

1. 题目 第 i 个人的体重为 people[i]&#xff0c;每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人&#xff0c;但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1&#xff1a; 输入&#xff1a;peopl…

【报名开启】CCKS 2022教科书示意图问答任务

赛题背景示意图是一种高度抽象的知识表达载体&#xff0c;常由矩形、圆形等几何形状和箭头、折线等逻辑符号组成&#xff0c;广泛被应用于教科书、百科、知识博客等教育场景。在上述场景中&#xff0c;学习者常通过视觉问答的形式来判断对知识点的掌握情况&#xff0c;即&#…

以4%参数量比肩GPT-3!Deepmind 发布检索型 LM,或将成为 LM 发展新趋势!?

文 | ZenMoore编 | 小轶GPT3 一声枪响&#xff0c;给 NLP 带来了大模型风潮。这么长时间过来&#xff0c;无论是中文还是英文&#xff0c;模型越做越大。当然&#xff0c;这确实是符合逻辑的&#xff0c;因为如果以人脑为向导的话&#xff0c;那么多神经元&#xff0c;不得不需…