【Leetcode Daily】2379得到K个黑块的最少涂色次数
题目浅析
想查看原题可以点击题目链接。
简单地说,就是给一个由’W’和’B”组成的字符串,w是白色色块,b是黑色色块。再给一个整数 K,要求如果要一个连续 K 个黑色块的子数组,至少要填几次白色快为黑色。
思路分享
本质还是定长滑动窗口的模板题(【Leetcode Daily】1534统计好三元组),具体思路直接略,下面陆爻齐的解法也就是该模板解法
但是,由于’W’的’B’的 ASCII 码最低位的值分别为 1 和 0.所以可以通过二进制避免分支预测。
https://leetcode.cn/problems/minimum-recolors-to-get-k-consecutive-black-blocks/
代码解答(强烈建议自行解答后再看)
- 陆爻齐的解法
1 | class Solution { |
- 避免分支预测解法
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LuYaoQi's Blogs!