力扣:1456. 定长子串中元音的最大数目
1456. 定长子串中元音的最大数目
这是一道滑动窗口问题,我们把元音的下标存入队列中,队列中元素的个数就是窗口中的元音个数。注意判断队头是否在窗口中,不在就去掉。
class Solution {
public:int maxVowels(string s, int k) {int q[100005];int hh=0,tt=-1;int l=s.size(); int ant=0;for(int i=0;i<l;i++){if(hh<=tt && q[hh]<i-k+1)hh++;if(check(s[i]))q[++tt]=i;ant=max(ant,tt-hh+1);}return ant;}bool check(char c){if(c=='a'||c=='u'||c=='e'||c=='i'||c=='o')return 1;return 0;}
};