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 of substrings containing only the given character
- Count substrings that starts with character X and ends with character Y
- Count of substrings of a binary string containing K ones
- Count of substrings of a Binary string containing only 1s
- Check if frequency of character in one string is a factor or multiple of frequency of same character in other string
- Map every character of one string to another such that all occurrences are mapped to the same character
- Count of strings possible by replacing two consecutive same character with new character
- Length of longest Palindromic Subsequence of even length with no two adjacent characters same
- Length of longest common subsequence containing vowels
- Count of subsequences of length atmost K containing distinct prime elements
- Lexicographically smallest K-length substring containing maximum number of vowels
- Smallest number containing all possible N length permutations using digits 0 to D
- Minimize length of prefix of string S containing all characters of another string T
- Print Kth character in sorted concatenated substrings of a string
- Number of substrings with count of each character as k
- Count substrings with each character occurring at most k times
- Count of substrings which contains a given character K times
- Count all substrings having character K
- Maximize partitions such that no two substrings have any common character
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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.