2914. Minimum Number of Changes to Make Binary String Beautiful
Difficulty: Medium
Topics: String
You are given a 0-indexed binary string s having an even length.
A string is beautiful if it's possible to partition it into one or more substrings such that:
You can change any character in s to 0 or 1.
Return the minimum number of changes required to make the string s beautiful.
Example 1:
Example 2:
Example 3:
Constraints:
Hint:
Solution:
We need to ensure that every pair of characters in the binary string s is either "00" or "11". If a pair is not in one of these two patterns, we will need to change one of the characters to make it match.
Here's the step-by-step solution approach:
Divide the String into Blocks: Since a beautiful string can be formed from blocks of length 2, we can iterate through the string in steps of 2.
Count Changes: For each block of 2 characters, we need to determine the majority character (either 0 or 1). We will change the minority character in the block to match the majority character.
Calculate Minimum Changes: For each block, if both characters are different, we will need 1 change; if they are the same, no changes are required.
Let's implement this solution in PHP: 2914. Minimum Number of Changes to Make Binary String Beautiful
Explanation:
Function Definition: We define a function minChanges that takes a binary string s.
Initialization: We initialize a variable $changes to keep track of the number of changes required.
Iterate Over the String: We loop through the string, incrementing by 2 each time to check each block of two characters:
- $first is the character at the current position.
- $second is the character at the next position.
Check for Changes: If the characters in the current block are different, we increment the $changes counter by 1.
Return Result: Finally, we return the total number of changes required.
Complexity:
This solution operates in O(n) time complexity, where n is the length of the string, making it efficient for the given constraints.
Contact Links
If you found this series helpful, please consider giving the repository a star on GitHub or sharing the post on your favorite social networks ?. Your support would mean a lot to me!
If you want more helpful content like this, feel free to follow me:
The above is the detailed content of Minimum Number of Changes to Make Binary String Beautiful. For more information, please follow other related articles on the PHP Chinese website!