diff options
Diffstat (limited to 'max_num_vowel_substr.cpp')
-rw-r--r-- | max_num_vowel_substr.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/max_num_vowel_substr.cpp b/max_num_vowel_substr.cpp new file mode 100644 index 0000000..fe24499 --- /dev/null +++ b/max_num_vowel_substr.cpp @@ -0,0 +1,30 @@ +// 1456. Maximum Number of Vowels in a Substring of Given Length +#include "leetcode.h" + +/* + * given a string 's' and an integer 'k', return the maximum + * number of vowel letters in any substring of 's' with length + * 'k'. vowel letters in english are 'a e i o u' + */ + +class Solution { +public: + int maxVowels(string s, int k) { + int count = 0, counting = 0; + unordered_set<char> bag = {'a', 'e', 'i', 'o', 'u'}; + for (int i = 0, local = 0; i < s.size(); i++) { + local += bag.count(s[i]); + if (i - k >= 0) + local -= bag.count(s[i - k]); + count = max(count, local); + } + return count; + } +}; + +int main() { + Solution obj; + cout << obj.maxVowels("abciiidef", 3); // expect: 3 + cout << obj.maxVowels("aeiou", 2); // expect: 2 + cout << obj.maxVowels("leetcode", 3); // expect: 2 +} |