Count substrings that use only vowels and contain all five
I was asked this
No reports yet. Sign in to say where you were asked it.
Given a string s of lowercase English letters, return the number of contiguous substrings that satisfy both rules:
- Every character of the substring is a vowel (
a,e,i,o,u). - The substring contains each of the five vowels at least once.
Substrings are counted by position: two equal substrings that start at different indices both count.
Implement:
def count_vowel_substrings(s: str) -> int: ...
Constraints
0 <= len(s) <= 10^5-
scontains only lowercase English letters. - The answer can exceed 32 bits.
Start with a working solution, then aim for linear time.
Example 1
Input: s = "aaeiou"
Output: 2
The valid substrings are "aaeiou" and "aeiou".
Example 2
Input: s = "aeioxuaei"
Output: 0
The x splits the vowels into "aeio" and "uaei", and neither part contains all five vowels.
Sign in to see the worked answer
The full answer, chapter by chapter, with what interviewers expect at each level. Free with an account: one full answer per company.
What the labs asked this week
A weekly email of what OpenAI, Anthropic and the other top AI labs asked engineers, round by round.
Sign in to see the worked answer
The full answer, chapter by chapter, with what interviewers expect at each level. Free with an account: one full answer per company.
Sign in to submit your code; every attempt is kept here.
