Skip to content

Latest commit

 

History

History
125 lines (73 loc) · 2.39 KB

File metadata and controls

125 lines (73 loc) · 2.39 KB

中文文档

Description

Given a string s and an integer k.

Return the maximum number of vowel letters in any substring of s with length k.

Vowel letters in English are (a, e, i, o, 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.

Example 4:

Input: s = "rhythms", k = 4

Output: 0

Explanation: We can see that s doesn't have any vowel letters.

Example 5:

Input: s = "tryhard", k = 4

Output: 1

 

Constraints:

  • 1 <= s.length <= 10^5
  • s consists of lowercase English letters.
  • 1 <= k <= s.length

Solutions

Python3

Java

TypeScript

function maxVowels(s: string, k: number): number {
    const n = s.length;
    let ans = 0;
    let preSum = new Array(n).fill(0);
    let cnt = 0;
    for (let i = 0; i < n && ans != k; i++) {
        let char = s.charAt(i);
        if (['a', 'e', 'i', 'o', 'u'].includes(char)) {
            cnt++;
        }
        preSum[i] = cnt;
        ans = Math.max(i < k ? cnt : preSum[i] - preSum[i - k], ans);
    }
    return ans;
};

...