Maximum Number of Vowels in a Substring of Given Length
LeetCode題目: 1456. Maximum Number of Vowels in a Substring of Given Length
My solution:
/**
* @param {string} s
* @param {number} k
* @return {number}
*/
let maxVowels = (s, k) => {
const vowelLetter = ['a', 'e', 'i', 'o', 'u'];
let convertDigitArray = Array.from(s).map(char=> vowelLetter.includes(char) ? 1 : 0);
let baseValue = convertDigitArray.slice(0,k).reduce((prev,curr)=>prev+curr,0);
let tempValue = baseValue;
for(let i=0; i<s.length-k; i++) {
baseValue = baseValue - convertDigitArray[i] + convertDigitArray[i+k];
if(baseValue === k) return baseValue;
tempValue = Math.max(tempValue, baseValue);
}
return tempValue;
};