mediumGreedyString 0 views

Minimum Number of Swaps to Make the Binary String Alternating

Given a binary string s, return the minimum number of character swaps to make it alternating, or -1 if it is impossible.

Given a binary string s, return the minimum number of character swaps to make it alternating, or -1 if it is impossible.

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.

Any two characters may be swapped, even if they are not adjacent.

Minimum Number of Swaps to Make the Binary String Alternating diagram

Example 1

Input: s = "111000"

Output: 1

Explanation: Swap positions 1 and 4: "111000" -> "101010" The string is now alternating.

Example 2

Input: s = "010"

Output: 0

Explanation: The string is already alternating, no swaps are needed.

Example 3

Input: s = "1110"

Output: -1

Constraints

  • 1 <= s.length <= 1000
  • s[i] is either '0' or '1'.

Hints

Companies

No companies reported yet.

Discussion

Sign in to join the discussion.

Loading discussion...

Test results

No test cases yet.