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:
Input: s = “111000”
Output: 2
Explanation: Use the first operation two times to make s = “100011”.
Then, use the second operation on the third and sixth elements to make s = “101010”.
Example 2:
Input: s = “010”
Output: 0
Explanation: The string is already alternating.<

给定一个二进制字符串s,可以通过两种操作来改变它:删除开头字符并将其添加到末尾,或者选择任意字符并翻转其值。目标是通过类型2操作使s变为交替字符串,即相邻字符不相等。本文介绍如何解决这个问题,并提供了Rust代码实现。
最低0.47元/天 解锁文章
840

被折叠的 条评论
为什么被折叠?



