Medium
Count Vowel Strings in Ranges — Python
Full explanation · Time O(n + q) · Space O(n)
# Time: O(n + q)
# Space: O(n)
# prefix sum
class Solution(object):
def vowelStrings(self, words, queries):
"""
:type words: List[str]
:type queries: List[List[int]]
:rtype: List[int]
"""
VOWELS = {'a', 'e', 'i', 'o', 'u'}
prefix = [0]*(len(words)+1)
for i, w in enumerate(words):
prefix[i+1] = prefix[i]+int(w[0] in VOWELS and w[-1] in VOWELS)
return [prefix[r+1]-prefix[l] for l, r in queries]