1888. Minimum Number of Flips to Make the Binary String Alternating
1888. Minimum Number of Flips to Make the Binary String Alternating
Description
You are given a binary string s
. You are allowed to perform two types of operations on the string in any sequence:
- Type-1: Remove the character at the start of the string
s
and append it to the end of the string. - Type-2: Pick any character in
s
and flip its value, i.e., if its value is'0'
it becomes'1'
and vice-versa.
Return the minimum number of type-2 operations you need to perform such that s
becomes alternating .
The string is called alternating if no two adjacent characters are equal.
- For example, the strings
"010"
and"1010"
are alternating, while the string"0100"
is not.
Example 1:
1 | Input: s = "111000" |
Example 2:
1 | Input: s = "010" |
Example 3:
1 | Input: s = "1110" |
Constraints:
1 <= s.length <= 10^5
s[i]
is either'0'
or'1'
.
Hints/Notes
- 2024/10/25
- sliding window
- 0x3Fâs solution(i think my code is easier to understand)
Solution
Language: C++
1 | class Solution { |