检查替换后的词是否有效

  • 题目
  • 思路与算法
  • 代码实现
  • 复杂度分析

题目


题意稍微费解了一点,但是看下面四个例子

思路与算法

  1. 看完上面四个例子,大致懂了,这题是个消消乐,而且题目给的这个字符串必定只有‘a’‘b’'c’这三个字符组成。我们就像玩消消乐一样,遍历,碰到“abc”就将其删除,然后后面的顶上来即可,不断执行,若字符有效,最后会全部消除,剩下一个“”。
  2. 或者使用栈来求解,碰到c时进行两次出栈操作,并且出栈的两个pop值必须是第一次‘b’,第二次‘a’,如果出栈正确的话,最后栈为空。

代码实现

class Solution {public boolean isValid(String S) {/*// 消消乐:超时while ( S.contains("abc") ){S.replace("abc","");}return S.equals("");*/Stack<Character> stack = new Stack<Character>();for (int i = 0; i < S.length(); i++){if (S.charAt(i) == 'c'){if (stack.empty() || stack.pop() != 'b'){return false;}if (stack.empty() || stack.pop() != 'a'){return false;}}else{stack.push(S.charAt(i));}}return stack.empty();}
}

复杂度分析

超时的方法时间复杂度:O(M*N)
堆栈的方法:O(N)

20200315:检查替换后的词是否有效(leetcode1003)相关推荐

  1. 1003. 检查替换后的词是否有效

    2020-05-15 1.题目描述 检查替换后的词是否有效 2.题解 使用栈即可,如果是 a和b直接入栈,如果是c还要判断能不能有abc,最后再判断栈是否为空即可. 3.代码 class Soluti ...

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

    1. 题目 给定有效字符串 "abc". 对于任何有效的字符串 V,我们可以将 V 分成两个部分 X 和 Y,使得 X + Y(X 与 Y 连接)等于 V.(X 或 Y 可以为空. ...

  3. C++算法学习(力扣:1003. 检查替换后的词是否有效)

    给定有效字符串 "abc". 对于任何有效的字符串 V,我们可以将 V 分成两个部分 X 和 Y,使得 X + Y(X 与 Y 连接)等于 V.(X 或 Y 可以为空.)那么,X ...

  4. 2022-3-28 Leetcode 1003.检查替换后的词是否有效

    bool isValid(string S) {stack<char> st;for (auto &ch : S) {if (st.empty()){st.push(ch);}el ...

  5. 力扣--替换后的最长重复字符

    力扣–替换后的最长重复字符 文章目录 力扣--替换后的最长重复字符 一.题目描述 二.分析 三.代码 一.题目描述 二.分析 题目的意思比较清楚,不过可能的情况有很多,不可能用代码去寻找最佳的替换位置 ...

  6. 替换后的最长重复字符

    替换后的最长重复字符 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换k次.在执行上述操作后,找到包含重复字母的最长子串的长度. 注意:字符串长度 和k不 ...

  7. LeetCode-424:替换后的最长重复字符

    题目描述: 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次.在执行上述操作后,找到包含重复字母的最长子串的长度. 注意:字符串长度 和 k 不会 ...

  8. asp.net 百度编辑器 UEditor 上传图片 图片上传配置 编辑器配置 网络连接错误,请检查配置后重试...

    1.配置ueditor/editor_config.js文件,将 //图片上传配置区,imageUrl:URL+"net/imageUp.ashx" //图片上传提交地址,imag ...

  9. 【力扣周赛#324】6266. 使用质因数之和替换后可以取到的最小值+6267. 添加边使所有节点度数都为偶数+6268. 查询树中环的长度

    目录 6265. 统计相似字符串对的数目 - ac 6266. 使用质因数之和替换后可以取到的最小值 分解质因数 1.tle代码 2.优化ac代码 6267. 添加边使所有节点度数都为偶数 - 建图+ ...

最新文章

  1. 微信公众号开发的一些配置
  2. 实验问题总结与分享之×××(Virtual Private Network)
  3. 前端工程师需要掌握的技能
  4. PPP interface for lwIP
  5. layui列表显示缩略图_layUI实现列表查询功能
  6. 使用此首选项可加快Eclipse m2e配置
  7. 2 计算机组成原理第二章 数据的表示和运算 定点数运算 浮点数运算
  8. ERP会给企业带来什么好处?
  9. Eclipse启动Tomcat时45秒超时的解决方法
  10. Codeforces Round #439 (Div. 2)
  11. plsql 存储过程 批量提交_浅谈PetShop之使用存储过程与PLSQL批量处理(附案例)
  12. 与原子操作相关的 volatile 和 sig_atmotic_t
  13. C++ MFC字体设置
  14. Elsevier 图形规范 Artwork
  15. [欧美音乐]Tamas Wells -《A Plea en Vendredi》[MP3+FLAC]
  16. 如何用ADB命令删除Android中的系统应用
  17. 自媒体必备工具:免费的音文对齐生成SRT字幕,快速打轴匹配声音及文字的在线工具
  18. 管清友的股票投资课_笔记 _Part3
  19. 区块链超级账本Hyperledger Fabric架构说明
  20. HR软件切忌过度招标

热门文章

  1. TIOBE 12 月编程语言排行榜:争夺年度编程语言,Java、C、Python、C# 即将开战!...
  2. Rust 入坑指南 | CSDN 博文精选
  3. 二十年的编程,教会我的五件事!
  4. 贝塞尔曲线之爱心点赞代码全解析!| CSDN 博文精选
  5. Python 30 年技术演进史:生于小众,崛起 AI!
  6. IEEE 解除华为限制;AWS、谷歌云大规模故障;TypeScript 3.5 发布 | 极客头条
  7. 凉山火灾启示录:面对大火,AI 能做些什么?
  8. 昔日的 HTC 与三星,今日的苹果:寒冬过后手机厂商才会明白的潜规则
  9. 《王者荣耀》强制实名;联想打脸雷军;HTC 拍 VR 版《笑傲江湖》| 极客头条
  10. @扎克伯格:一句对不起,能挽回我们泄漏的数据吗?