Given a string ‘str’ and an integer ‘k’, the task is to count the number of sub-strings of length ‘k’ which are comprised of the same character. Given string contains only lowercase alphabets.
Input: str = "aaaabbbccdddd", k=4 Output: 2 The sub-strings of length 4 which contain identical characters are 'aaaa' and 'dddd'. So, the count is 2. Input: str = "aaaaaa", k=4 Output: 3
A simple approach:
- Find all the sub-strings of the string that are of length ‘k’.
- Check if those sub-strings are composed of only ‘1’ character.
- If the above conditions hold then increase the count.
- Display the count.
Efficient approach: We will use Window sliding technique to solve this problem.
- Take a sub-string of length ‘k’ (which is the first ‘k’ characters).
- Then, add next character to the sub-string.
- If the length of the sub-string is greater than ‘k’ then remove the character from the beginning of the string.
- And, count the frequency of the characters in the sub-string with the help of a map.
- If the frequency of one of the sub-string’s character is equal to length of the sub-string itself i.e. all the characters are same.
- Then, increase the count else repeat the steps above until the there’s no more character to add in the end.
- Display the total count in the end.
Below is the implementation of the above approach :
- Minimize length of Substrings containing at least one common Character
- Count substrings that starts with character X and ends with character Y
- Count of substrings containing only the given character
- Count all substrings having character K
- Number of substrings with count of each character as k
- Count of substrings which contains a given character K times
- Maximize partitions such that no two substrings have any common character
- Count substrings with each character occurring at most k times
- Print Kth character in sorted concatenated substrings of a string
- Contiguous unique substrings with the given length L
- Convert all substrings of length 'k' from base 'b' to decimal
- Count all Prime Length Palindromic Substrings
- Count of substrings of length K with exactly K distinct characters
- Count number of distinct substrings of a given length
- Check if a string can be split into even length palindromic substrings
- Find number of substrings of length k whose sum of ASCII value of characters is divisible by k
- Split a given string into substrings of length K with equal sum of ASCII values
- Calculate Sum of ratio of special characters to length of substrings of the given string
- Minimum flips required to convert given string into concatenation of equal substrings of length K
- Minimum K such that every substring of length atleast K contains a character c
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.