A string contains patterns of the form 1(0+)1 where (0+) represents any non-empty consecutive sequence of 0’s. Count all such patterns. The patterns are allowed to overlap.
Note : It contains digits and lowercase characters only. The string is not necessarily a binary. 100201 is not a valid pattern.
One approach to solve the problem is discussed here, other using Regular expressions is given in Set 2
Input : 1101001 Output : 2 Input : 100001abc101 Output : 2
Let size of input string be n.
1. Iterate through index ‘0’ to ‘n-1’.
2. If we encounter a ‘1’, we iterate till the elements are ‘0’.
3. After the stream of zeros ends, we check whether we encounter a ‘1’ or not.
4. Keep on doing this till we reach the end of string.
Below is the implementation of the above method.
This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.
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.
- Find all the patterns of "1(0+)1" in a given string | SET 2(Regular Expression Approach)
- Find a string which matches all the patterns in the given array
- Check if a given string is a valid number (Integer or Floating Point) | SET 1(Basic approach)
- Check if a given string is a valid number (Integer or Floating Point) in Java | SET 2 (Regular Expression approach)
- Extract maximum numeric value from a given string | Set 1 (General approach)
- Extract maximum numeric value from a given string | Set 2 (Regex approach)
- Suffix Tree Application 2 - Searching All Patterns
- Remove all occurrences of a character in a string | Recursive approach
- Check if a binary string has a 0 between 1s or not | Set 2 (Regular Expression Approach)
- Check if a binary string has a 0 between 1s or not | Set 1 (General approach)
- Given a string and an integer k, find the kth sub-string when all the sub-strings are sorted according to the given condition
- Technical Test Patterns of Samsung, Microsoft, Deloitte, etc
- Find all palindromic sub-strings of a given string | Set 2
- Queue based approach for first non-repeating character in a stream
- Find the smallest window in a string containing all characters of another string
- Minimum length of string having all permutation of given string.
- Generate a string whose all K-size substrings can be concatenated to form the given string
- Program to generate all possible valid IP addresses from given string | Set 2
- Find the longest sub-string which is prefix, suffix and also present inside the string | Set 2
- Find all distinct palindromic sub-strings of a given string
Improved By : nitin mittal