Skip to content

Commit 62cd1d0

Browse files
committed
src/bin/minimum-recolors-to-get-k-consecutive-black-blocks.rs
1 parent 99fc265 commit 62cd1d0

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#![allow(dead_code, unused, unused_variables, non_snake_case)]
2+
3+
use std::io::Read;
4+
5+
fn main() {}
6+
7+
struct Solution;
8+
9+
impl Solution {
10+
pub fn minimum_recolors(blocks: String, k: i32) -> i32 {
11+
let mut b = 0;
12+
13+
for &i in blocks.as_bytes().into_iter().take(k as usize) {
14+
if i == b'B' {
15+
b += 1;
16+
}
17+
}
18+
19+
let mut result = k - b;
20+
let block = blocks.as_bytes();
21+
22+
for i in 1..=blocks.len() - k as usize {
23+
if block[i - 1] == b'B' {
24+
b -= 1;
25+
}
26+
27+
if block[i - 1 + k as usize] == b'B' {
28+
b += 1;
29+
}
30+
31+
result = result.min(k - b);
32+
}
33+
34+
result
35+
}
36+
}

0 commit comments

Comments
 (0)