problem:1456. 定长子串中元音的最大数目
思路:定长滑动窗口
Accode:
class Solution {
public:
string yuan = "aeiou";
bool is_yuan(char x){
for(auto &item:yuan){
if(item==x){
return true;
}
}
return false;
}
int maxVowels(string s, int k) {
deque<int> dqe;
int ans = 0;
int len = s.length();
for(int i=0;i<len;i++){
if(dqe.size() && i-dqe.front()+1>k){
dqe.pop_front();
}
if(is_yuan(s[i])){
dqe.push_back(i);
}
ans = max(ans,(int)dqe.size());
}
return ans;
}
};
时间复杂度:$o(n)$