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;
};
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。