Skip to content

Latest commit

 

History

History
34 lines (32 loc) · 799 Bytes

最大元音.md

File metadata and controls

34 lines (32 loc) · 799 Bytes

https://leetcode-cn.com/problems/maximum-number-of-vowels-in-a-substring-of-given-length/

思路

先收集长度为k的窗口内元音个数 。滑动窗口,判断窗口右端为元音,就加一,左端不为元音减一。

代码

var maxVowels = function (s, k) {
  const map = {
    a: 1,
    e: 1,
    i: 1,
    o: 1,
    u: 1
  }
  let i = 0;
  let count = 0;
  let max = 0
  while (i < s.length) {
    if (i < k ) {
      if (map[s[i]]) count++
    } else {
      if (map[s[i]]) count++
      if (map[s[i - k]]) count--
    }
    i++
    max = Math.max(max, count)
  }
  return max
}

复杂度

时间复杂度:$O(N)$,N 为字符串的长度。 空间复杂度:$O(1)$。