Maximum Number of Vowels in a Substring of Given Length LeetCode solution in Python

1
class Solution:
2
def maxVowels(self, s: str, k: int) -> int:
3

4
def find_count_vowels(string):
5
lst_vowels = ["a", "e", "i", "o", "u"]
6
c = 0
7
for i in string:
8
if i in lst_vowels:
9
c += 1
10
return c
11

12
lst_vowels = ["a", "e", "i", "o", "u"]
13
if k > len(s):
14
return find_count_vowels(s)
15
dp = [0] * (len(s) - k + 1)
16
dp[0] = find_count_vowels(s[:k])
17
for i in range(1, len(s) - k + 1):
18

19
if s[i - 1] in lst_vowels and s[i + k - 1] in lst_vowels:
20
dp[i] = dp[i - 1]
21
elif s[i - 1] in lst_vowels and s[i + k - 1] not in lst_vowels:
22
dp[i] = dp[i - 1] - 1
23

24
elif s[i - 1] not in lst_vowels and s[i + k - 1] in lst_vowels:
25
dp[i] = dp[i - 1] + 1
26
else:
27
dp[i] = dp[i - 1]
28
return max(dp)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0