1456. Maximum Number of Vowels in a Substring of Given Length
Given a string
sand an integerk, return the maximum number of vowel letters in any substring ofswith lengthk.Vowel letters in English are
'a','e','i','o', and'u'.Example 1:
Input: s = "abciiidef", k = 3
Output: 3
Explanation: The substring "iii" contains 3 vowel letters.Example 2:
Input: s = "aeiou", k = 2
Output: 2
Explanation: Any substring of length 2 contains 2 vowels.Example 3:
Input: s = "leetcode", k = 3
Output: 2
Explanation: "lee", "eet" and "ode" contain 2 vowels.
def maxVowels(self, s: str, k: int) -> int:
vowels = set('aeiou')
max_count = count = 0
# First window
for i in range(k):
if s[i] in vowels:
count += 1
max_count = count
# Slide the window
for i in range(k, len(s)):
if s[i] in vowels:
count += 1
if s[i - k] in vowels:
count -= 1
max_count = max(max_count, count)
return max_count