给你字符串 s 和整数 k 。
请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。
英文中的 元音字母 为(a, e, i, o, u)。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-number-of-vowels-in-a-substring-of-given-length
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public int maxVowels(String s, int k) {
if (s == null || k <= 0) {
return -1;
}
if (s.length() < k) {
return -1;
}
int result = 0;
for (int i = 0; i < k; i++) {
if (s.charAt(i) == 'a') {
result++;
} else if (s.charAt(i) == 'e') {
result++;
} else if (s.charAt(i) == 'i') {
result++;
} else if (s.charAt(i) == 'o') {
result++;
} else if (s.charAt(i) == 'u') {
result++;
}
}
int oneResult = result;
for (int i = 1; i <= s.length() - k; i++) {
if ("aeiou".indexOf(String.valueOf(s.charAt(i - 1))) != -1) {
oneResult--;
}
if ("aeiou".indexOf(String.valueOf(s.charAt(i + k - 1))) != -1) {
oneResult++;
}
if (oneResult > result) {
result = oneResult;
}
}
return result;
}
}