设置只压入字母‘b’的stack,遇到a,则看stack中是否有字母‘b’,有的话,则需要删除,则每次出stack,res+1.而在任意位置之后,无论stack有没有东西,只要之后遍历到的是‘b’而没有了‘a’或者一个字母都没有了,那么就说明遍历到的字母都满足a在前,b在后了。总之,保证遍历到‘b’后不再遇到‘a’,遇到‘a’则把其之前的‘b’删除。那么如果例子是‘aabba’怎么办?那么在遇到最后一个a的时候,stack需要pop一个b out。而逻辑上,其实是删除了a,同理,如果是‘aabbaa’,那么我逻辑上可以是删除了两个stack中的‘b’,也可以说是删除了最后的两个‘a’。而如果是‘aabbaaa’ ,那么说明我删除掉不符合顺序的‘b’操作次数更少,逻辑上就是删除了两个‘b’。

class Solution:def minimumDeletions(self, s: str) -> int:stack = []res = 0for idx,c in enumerate(s):if c == 'b':stack.append(c)elif stack:stack.pop()res += 1return res

Leetcode 1653. Minimum Deletions to Make String Balanced [Python]相关推荐

  1. Leetcode 1647. Minimum Deletions to Make Character Frequencies Unique

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 1. Description 2. Solution **解析:**Version 1,先用字典统计每个英文字符出 ...

  2. Leetcode 1647. Minimum Deletions to Make Character Frequencies Unique [Python]

    遇到frequency一样的,一直减1,直到次frequency是唯一的时候,存入字典. class Solution:def minDeletions(self, s: str) -> int ...

  3. 【LeetCode】Minimum Depth of Binary Tree 二叉树的最小深度 java

    [LeetCode]Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. The minimum dept ...

  4. 【打印代码+好好理解+子串问题】LeetCode 76. Minimum Window Substring

    LeetCode 76. Minimum Window Substring 字符串子串问题!!!理解这题真是花了很大的功夫!!! 参考链接:https://blog.csdn.net/weixin_4 ...

  5. 【DP】LeetCode 64. Minimum Path Sum

    LeetCode 64. Minimum Path Sum Solution1:标准的动态规划题目 class Solution { public:int minPathSum(vector<v ...

  6. LeetCode 871. Minimum Number of Refueling Stops 最少加油次数

    LeetCode 871. Minimum Number of Refueling Stops 本题是LeetCode 871题,最少加油次数. 题目描述 A car travels from a s ...

  7. LeetCode: 871. Minimum Number of Refueling Stops

    LeetCode: 871. Minimum Number of Refueling Stops 题目描述 A car travels from a starting position to a de ...

  8. leetcode 151 Reverse Words in a String (python)

    leetcode 151   Reverse Words in a String 题目描述: Given an input string, reverse the string word by wor ...

  9. 【LeetCode】91. Decode Ways 解题报告(Python)

    [LeetCode]91. Decode Ways 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fux ...

  10. LeetCode 148. Sort List--面试算法题--C++,Python解法

    LeetCode 148. Sort List–面试算法题–C++,Python解法 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大 ...

最新文章

  1. Linux桌面新彩虹-Fedora 14 炫酷应用新体验
  2. 解决Please ensure that adb is correctly located at 'D:\java\sdk\platform-tools\adb.exe' and can be exe
  3. thinkphp-权限控制
  4. 《系统集成项目管理工程师》必背100个知识点-74CMO的具体工作
  5. 深入react技术栈(11):样式处理
  6. (pytorch-深度学习系列)深度卷积神经网络AlexNet
  7. 信息学奥赛C++语言:调整试题顺序
  8. 视觉SLAM笔记(57) 回环检测
  9. 20145226夏艺华 《Java程序设计》预备作业3
  10. linux命令:常用shell命令及应用
  11. html九九乘法口诀表代码,JavaScript九九乘法口诀表的简单实现
  12. 可见光波长和颜色的对应关系
  13. 使用uniapp时候根据设计图得出标准长宽比
  14. 简体-繁体互转换的一个JS
  15. 腾讯云技术认证考试综述 腾讯云技术认证题库
  16. 【MM32F5270开发板试用】定制MicroPython及读取MPU6050数据到OLED1306
  17. html怎么引用php文件,html页面怎么跟php文件连接
  18. VCC、 VDD、VEE、VSS的区别
  19. 这两个能这样搭配?海关数据+决策人挖掘,用过的外贸人都说好!
  20. 【招生目录和招生简章】中国科学院大学 中科院沈阳计算所 中国矿业大学 广州大学 北京人民公安大学...

热门文章

  1. python多任务爬虫(四、协程池实现爬虫)
  2. 融云亮相GTC全球流量大会 荣膺鲸鸣奖2019年度优秀出海服务商
  3. uc浏览器怎么播放html5,uc视频社区 手机UC浏览器不能看视频了怎么办?
  4. Kubernetes快速入门
  5. C++ - priority_queue
  6. FaceBook到底验证个啥?
  7. 谷歌浏览器 发送到剪切板_将Google搜索结果发送到您的新闻阅读器
  8. google建立快讯推荐被引用文章
  9. 何登骥获“两优一先”荣誉 谋定·国稻种芯: 湖南农业科学院表彰
  10. Java:javax.mail通过163服务器发送邮件