码迷,mamicode.com
首页 > 其他好文 > 详细

1456. Maximum Number of Vowels in a Substring of Given Length

时间:2020-06-10 13:25:37      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:cto   abc   number   color   example   any   href   des   cti   

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).

 

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.

Example 4:

Input: s = "rhythms", k = 4
Output: 0
Explanation: We can see that s doesn‘t have any vowel letters.

Example 5:

Input: s = "tryhard", k = 4
Output: 1

 

Constraints:

  • 1 <= s.length <= 10^5
  • s consists of lowercase English letters.
  • 1 <= k <= s.length
class Solution {
  public int maxVowels(String s, int k) {
        int ans = 0;
        // Set<Character> vowels = new HashSet<>(Arrays.asList(‘a‘, ‘e‘, ‘i‘, ‘o‘, ‘u‘));
        var vowels = Set.of(‘a‘, ‘e‘, ‘i‘, ‘o‘, ‘u‘); // Java 11 Collection factory method, credit to @Sithis
        for (int i = 0, winCnt = 0; i < s.length(); ++i) {
            if (vowels.contains(s.charAt(i))) {
                ++winCnt; 
            }
            if (i >= k && vowels.contains(s.charAt(i - k))) {
                --winCnt;
            }
            ans = Math.max(winCnt, ans);
        }
        return ans;
    }
}

https://leetcode.com/problems/maximum-number-of-vowels-in-a-substring-of-given-length/discuss/648559/JavaPython-3-Slide-Window-O(n)-codes.

1456. Maximum Number of Vowels in a Substring of Given Length

标签:cto   abc   number   color   example   any   href   des   cti   

原文地址:https://www.cnblogs.com/wentiliangkaihua/p/13084112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!