1456_MaximumNumberofVowelsinaSubstringofGivenLength - a920604a/leetcode GitHub Wiki


categories: leetcode comments: false tags:

  • Sliding Window title: 1456. Maximum Number of Vowels in a Substring of Given Length

solution

class Solution {
public:
    bool isVowel(char c)
    {
        return c=='a' || c=='e' || c=='i' || c=='o' || c=='u';
    }
    int maxVowels(string s, int k) {
        int l=0, r= 0, n=s.size();
        unordered_map<char, int> mp;
        int mp_size = 0;
        int ret = 0;
        while(r<n)
        {
            char c = s[r++];
            if(isVowel(c) ){
                mp[c]++;
                mp_size ++;
            }
            if(r-l== k)
            {
                ret = max(ret, mp_size);
                char d = s[l++];
                if(isVowel(d)){
                    mp[d]--;
                    mp_size--;
                }
            }
        }
        return ret;
    }
};
class Solution {
public:
    bool isVowel(char c){
        return c=='a' || c=='e' || c=='i' || c=='o' || c=='u';
    }
    int maxVowels(string s, int k) {
        int ret = 0, l=0, r=0, n=s.size();
        int window=0;
        while(r<n){
            char c = s[r++];
            window+=isVowel(c);
            while(r-l>k){
                char d = s[l++];
                window-=isVowel(d);
            }
            ret = max(ret, window);
        }
        return ret;
    }
};

analysis

  • time complexity O(n)
  • space complexity O(1)
⚠️ **GitHub.com Fallback** ⚠️