[#005] 383. Ransom Note


Posted by s1101192101 on 2021-05-14

  • link:
    leetcode

  • 解題思路:

    1. 逐一讀取 magazine 中的字元,並使用 letters 對每個英文字母做 count
    2. 逐一讀取 ransomNote 中的字元,並從 letters 取出該英文字母
    3. 若再取出英文字母時,現有的該英文字母字數為 0 則代表無法拼出 ransomNote

  • 程式碼:

/**
 * @param {string} ransomNote
 * @param {string} magazine
 * @return {boolean}
 */
const canConstruct = function(ransomNote, magazine) {
    let letters = Array(26).fill(0);
    for(var i=0; i<magazine.length; i++) {
        letters[magazine[i].charCodeAt(0)-97]++;
    }
    for(var i=0; i<ransomNote.length; i++) {
        if(letters[ransomNote[i].charCodeAt(0)-97]===0) {
            return false;
        }
        letters[ransomNote[i].charCodeAt(0)-97]--;
    }
    return true;
};


  • 結果:



#Leetcode #string #easy







Related Posts

變調的 Hacktoberfest 與 amazing project

變調的 Hacktoberfest 與 amazing project

python-helloWorld

python-helloWorld

C++教學(三) 運算

C++教學(三) 運算


Comments