1653. 使字符串平衡的最少删除次数
难度:中等
给你一个字符串 s
,它仅包含字符 'a'
和 'b'
。
你可以删除 s
中任意数目的字符,使得 s
平衡 。我们称 s
平衡的 当不存在下标对 (i,j)
满足 i < j
且 s[i] = 'b'
同时 s[j]= 'a'
。
请你返回使 s
平衡 的 最少 删除次数。
示例 1:
1 | 输入:s = "aababbab" |
示例 2:
1 | 输入:s = "bbaaaaabb" |
提示:
- $1 <= s.length <= 10^5$
s[i]
要么是'a'
要么是'b'
。
前缀和
- 使用前缀和计算到每个
index
时左边的A
的数量和B
的数量 - 计算每个
index
处左边的A
的数量和右边的B
的数量,左边的A
和右边的B
可以组成的最大字符串就是满足条件要删除的最小字符的数量
1 | class Solution { |
动态规划
1 | class Solution { |