定长子串中元音的最大数目

81 阅读1分钟

给你字符串 s 和整数 k 。

请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。

英文中的 元音字母 为(a, e, i, o, u)。

来源:力扣(LeetCode) 链接:leetcode.cn/problems/ma…

public class MaxVowels {

    public int maxVowels(String s, int k) {
        int len = s.length();
        int sum = 0;
        for (int i = 0; i < k; i++) {
            sum += isVowel(s.charAt(i));
        }
        int count = sum;

        for (int i = k; i < len; i++) {
            sum  = sum + isVowel(s.charAt(i)) - isVowel(s.charAt(i - k));
            count = Math.max(sum, count);
        }
        return count;
    }

    public int isVowel(char ch) {
        return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' ? 1 : 0;
    }
}