Given a binary string str of length N, the task is to find the maximum count of substrings str can be divided into such that all the substrings are balanced i.e. they have equal number of 0s and 1s. If it is not possible to split str satisfying the conditions then print -1.
Input: str = “0100110101”
The required substrings are “01”, “0011”, “01” and “01”.
Input: str = “0111100010”
Approach: Initialize count = 0 and traverse the string character by character and keep track of the number of 0s and 1s so far, whenever the count of 0s and 1s become equal increment the count. If the count of 0s and 1s in the original string is not equal then print -1 else print the value of count after the traversal of the complete string.
Below is the implementation of the above approach:
Time complexity: O(N) where N is the length of string
Space Complexity: O(1)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Count ways to split a Binary String into three substrings having equal count of zeros
- Split a given string into substrings of length K with equal sum of ASCII values
- Split the string into substrings using delimiter
- Remove minimum characters from string to split it into three substrings under given constraints
- Check if a string can be split into even length palindromic substrings
- Check if a string can be split into substrings starting with N followed by N characters
- Split string into three palindromic substrings with earliest possible cuts
- Minimum flips required to convert given string into concatenation of equal substrings of length K
- Minimize cost to convert given string into concatenation of equal substrings of length K
- Split a binary string into K subsets minimizing sum of products of occurrences of 0 and 1
- Check if all substrings of length K of a Binary String has equal count of 0s and 1s
- Check if a palindromic string can be obtained by concatenating substrings split from same indices of two given strings
- Split the string into minimum parts such that each part is in the another string
- Minimum number of substrings the given string can be splitted into that satisfy the given conditions
- Split the array into equal sum parts according to given conditions
- Check if binary representations of 0 to N are present as substrings in given binary string
- Check if a string can be split into two strings with same number of K-frequent characters
- Given a binary string, count number of substrings that start and end with 1.
- Check if given string can be split into four distinct strings
- Split the given string into Primes : Digit DP
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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : princiraj1992