本文主要是介绍LeetCode75——Day15,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、题目
- 二、题解
一、题目
1456. Maximum Number of Vowels in a Substring of Given Length
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’, and ‘u’.
Example 1:
Input: s = “abciiidef”, k = 3
Output: 3
Explanation: The substring “iii” contains 3 vowel letters.
Example 2:
Input: s = “aeiou”, k = 2
Output: 2
Explanation: Any substring of length 2 contains 2 vowels.
Example 3:
Input: s = “leetcode”, k = 3
Output: 2
Explanation: “lee”, “eet” and “ode” contain 2 vowels.
Constraints:
1 <= s.length <= 105
s consists of lowercase English letters.
1 <= k <= s.length
二、题解
利用滑动窗口进行判断
class Solution {
public:int maxVowels(string s, int k) {int n = s.length();unordered_map<char,int> map;map['a'] = 1;map['e'] = 1;map['i'] = 1;map['o'] = 1;map['u'] = 1;int count = 0;int res = 0;for(int i = 0;i < k;i++){if(map[s[i]] == 1) count++;}res = max(res,count);for(int i = k;i < n;i++){if(map[s[i - k]] == 1) count--;if(map[s[i]] == 1) count++;res = max(res,count);}return res;}
};
这篇关于LeetCode75——Day15的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!