【Leetcode Daily】1234替换子串得到平衡字符串
题目浅析
想查看原题可以点击题目链接。
简单地说,给一个由 QWER 四个字母组成的字符串,可以变换其中的子字符串,使得四个字母数量相同,求变换的子字符串的最短长度。
思路分享
不定长滑动窗口的求“至少”应用,思路上基本同【Leetcode Daily】3090每个字符最多出现两次的最长字符串,下面主要讲讲灵茶山艾府在题解中可以借鉴的地方。
一个是数组的初始化,由于 ASCII 码的对应,其实用字符初始化数组数量是可以的,所以就有了
int rec['Z']{}
这种写法。另一个是结果在窗口合法时更新,避免窗口不合法后,去猜合法情况的代码。这样做很容易把自己绕进去。
代码解答(强烈建议自行解答后再看)
- 参考解法
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LuYaoQi's Blogs!