工程造价建设信息网站,长春网站排名方案,金泉网推广怎么样,山西太原做网站插#xff1a; 前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈#xff0c;越努力越幸运#xff0c;大家一起学习鸭~~~ 题目#xff1a;
给你一个长度为 n 下标从 0 开始的… 插 前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站。 坚持不懈越努力越幸运大家一起学习鸭~~~ 题目
给你一个长度为 n 下标从 0 开始的字符串 blocks blocks[i] 要么是 ‘W’ 要么是 ‘B’ 表示第 i 块的颜色。字符 ‘W’ 和 ‘B’ 分别表示白色和黑色。
给你一个整数 k 表示想要 连续 黑色块的数目。
每一次操作中你可以选择一个白色块将它 涂成 黑色块。
请你返回至少出现 一次 连续 k 个黑色块的 最少 操作次数。
示例 1
输入blocks “WBBWWBBWBW”, k 7 输出3 解释 一种得到 7 个连续黑色块的方法是把第 0 3 和 4 个块涂成黑色。 得到 blocks “BBBBBBBWBW” 。 可以证明无法用少于 3 次操作得到 7 个连续的黑块。 所以我们返回 3 。 示例 2
输入blocks “WBWBBBW”, k 2 输出0 解释 不需要任何操作因为已经有 2 个连续的黑块。 所以我们返回 0 。
提示
n blocks.length 1 n 100 blocks[i] 要么是 ‘W’ 要么是 ‘B’ 。 1 k n
java代码
class Solution {public int minimumRecolors(String blocks, int k) {int l 0, r 0, cnt 0;while (r k) {cnt blocks.charAt(r) W ? 1 : 0;r;}int res cnt;while (r blocks.length()) {cnt blocks.charAt(r) W ? 1 : 0;cnt - blocks.charAt(l) W ? 1 : 0;res Math.min(res, cnt);l;r;}return res;}
}