Skip to content

Commit efe2760

Browse files
committed
Runtime: 7 ms (Top 97.98%) | Memory: 45.20 MB (Top 9.52%)
1 parent 4d548d2 commit efe2760

File tree

1 file changed

+26
-18
lines changed

1 file changed

+26
-18
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,32 @@
1+
// Runtime: 7 ms (Top 97.98%) | Memory: 45.20 MB (Top 9.52%)
2+
13
class Solution {
24
public int maxVowels(String s, int k) {
3-
int max=0,cnt=0;
4-
for(int i=0,j=0;j<s.length();j++){
5-
if(j-i+1<k){
6-
if(s.charAt(j)=='a' ||s.charAt(j)=='e' || s.charAt(j)=='i' || s.charAt(j)=='o' || s.charAt(j)=='u' ){
7-
cnt++;
8-
}
9-
}
10-
else{
11-
if(s.charAt(j)=='a' ||s.charAt(j)=='e' || s.charAt(j)=='i' || s.charAt(j)=='o' || s.charAt(j)=='u'){
12-
cnt++;
13-
}
14-
max=Math.max(max,cnt);
15-
if(s.charAt(i)=='a' ||s.charAt(i)=='e' || s.charAt(i)=='i' || s.charAt(i)=='o' || s.charAt(i)=='u'){
16-
cnt--;
17-
}
18-
i++;
5+
int n = s.length();
6+
int maxVowels = 0;
7+
int count = 0;
8+
9+
int[] vowels = new int[128];
10+
vowels['a'] = 1;
11+
vowels['e'] = 1;
12+
vowels['i'] = 1;
13+
vowels['o'] = 1;
14+
vowels['u'] = 1;
15+
16+
for (int i = 0; i < k; i++) {
17+
count += vowels[s.charAt(i)];
18+
}
19+
20+
maxVowels = count;
21+
for (int i = k; i < n; i++) {
22+
count += vowels[s.charAt(i)] - vowels[s.charAt(i - k)];
23+
maxVowels = Math.max(maxVowels, count);
24+
//System.out.println(Arrays.toString(vowels));
25+
if (maxVowels == k) {
26+
return maxVowels;
1927
}
20-
2128
}
22-
return max;
29+
return maxVowels;
2330
}
2431
}
32+

0 commit comments

Comments
 (0)