Skip to main content
impol.dev

Minimum Number of Flips to Make the Binary String Alternating

Medium

You receive 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 text 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.

Produce the minimum number of type-2 operations you need to perform such that s becomes alternating .

The text is called alternating if no two adjacent characters are equal.

  • For example, the texts "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.

Example 3

Input: s = "1110"

Output: 1

Explanation: Use the second operation on the second element to make s = "1010".

Constraints

  • 1 <= s.length <= 10^5
  • s[i] is either '0' or '1' .

Did this problem appear in one of your interviews?

Responses stay private.

Acceptance rate: 0%

© 2026 impol.dev. All rights reserved.PrivacyTerms