Given a binary string, the task is to find minimum number of characters to be removed from it so that it becomes alternate. A binary string is alternate if there are no two consecutive 0s or 1s.
Input : s = "000111" Output : 4 We need to delete two 0s and two 1s to make string alternate. Input : s = "0000" Output : 3 We need to delete three characters to make it alternate. Input : s = "11111" Output : 4 Input : s = "01010101" Output : 0 Input : s = "101010" Output : 0
This problem has below simple solution.
We traverse string from left to right and compare current character with next character.
- If current and next are different then no need to perform deletion.
- If current and next are same, we need to perform one delete operation to make them alternate.
Below is the implementation of above algorithm.
4 4 0
Time Complexity : O(n) where n is number of characters in input string.
This article is contributed by Ravi Maurya(Trojan). If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Return maximum occurring character in an input string
- Print all the duplicates in the input string
- Remove characters from the first string which are present in the second string
- Remove duplicates from a given string
- Print reverse of a string using recursion
- Write a program to print all permutations of a given string
- Divide a string in N equal parts
- Given a string, find its first non-repeating character
- Write a program to reverse an array or string
- Print list items containing all characters of a given word
- Reverse words in a given string
- Find the smallest window in a string containing all characters of another string
- Length of the longest substring without repeating characters
- Print all permutations with repetition of characters
- Interleaving of two given strings with no common characters
- Given a number, find the next smallest palindrome
- Lexicographic rank of a string
- An in-place algorithm for String Transformation
- Count words in a given string
- String matching where one string contains wildcard characters