leetcode 1653

1653: 使字符串平衡的最少删除次数

思路:前后缀分解(两次遍历)

复制代码
class Solution {
public:
    int minimumDeletions(string s) {
        int del=0;
        for(char c:s) del+='b'-c; //统计 'a' 的个数
        int ans=del;
        for(char c:s){
            // 'a' -> -1    'b' -> 1
            del+=(c-'a')*2-1;
            ans=min(ans,del);
        }

        return ans;
    }
};
相关推荐
pp起床3 小时前
贪心算法 | part02
算法·leetcode·贪心算法
2501_901147833 小时前
面试必看:优势洗牌
笔记·学习·算法·面试·职场和发展
李日灐3 小时前
C++进阶必备:红黑树从 0 到 1: 手撕底层,带你搞懂平衡二叉树的平衡逻辑与黑高检验
开发语言·数据结构·c++·后端·面试·红黑树·自平衡二叉搜索树
熬夜有啥好3 小时前
数据结构——排序与查找
数据结构
YuTaoShao3 小时前
【LeetCode 每日一题】3634. 使数组平衡的最少移除数目——(解法二)排序 + 二分查找
数据结构·算法·leetcode
wangluoqi3 小时前
26.2.6练习总结
数据结构·算法
Yvonne爱编码3 小时前
链表高频 6 题精讲 | 从入门到熟练掌握链表操作
java·数据结构·链表
Q741_1473 小时前
C++ 优先级队列 大小堆 模拟 力扣 703. 数据流中的第 K 大元素 每日一题
c++·算法·leetcode·优先级队列·
木井巳3 小时前
【递归算法】二叉搜索树中第K小的元素
java·算法·leetcode·深度优先·剪枝