[#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

反推 - Alpine.js

反推 - Alpine.js

F2E合作社|collapse收合區塊|Bootstrap 5網頁框架開發入門

F2E合作社|collapse收合區塊|Bootstrap 5網頁框架開發入門

 ASI 自動分號插入

ASI 自動分號插入


Comments