Given a string str which contains only the characters x and y, the task is to count all the sub-strings that start and end with an x and have at least a single y.
Input: str = “xyyxx”
“xyyx” and “xyyxx” are the only valid sub-strings.
Input: str = “xyy”
- Create an array countX where countX[i] stores the total x from i to n – 1.
- Now, for every x in the string, find the first y that appears after this x.
- And update count = count + countX[indexOf(y)] because with this x as the starting index, all sub-strings will be valid that will end at any x after the found y.
- Return the count in the end.
Below is the implementation of the above approach:
- Different substrings in a string that start and end with given strings
- Given a binary string, count number of substrings that start and end with 1.
- Count substrings that starts with character X and ends with character Y
- Number of substrings with count of each character as k
- Count substrings with each character occurring at most k times
- Print Kth character in sorted concatenated substrings of a string
- Find a string such that every character is lexicographically greater than its immediate next character
- Replace every character of string by character whose ASCII value is K times more than it
- Longest Common Prefix using Character by Character Matching
- Shortest distance to every other character from given character
- Replace every character of a string by a different character
- Program to find the head start in a race
- Print all Subsequences of String which Start with Vowel and End with Consonant.
- Minimum steps to reach end from start by performing multiplication and mod operations with array elements
- Replace two substrings (of a string) with each other
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.