若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.
題目原文描述 https://leetcode.com/problems/ransom-note/
中文描述
給定兩個字串 ransomNote 與 magazine。判斷 ransomNote 是否可由 magazine 中的英文字母所組成。 magazine 中的每一個英文字母只能使用一次。
範例一:
輸入 ransomNote = "c", magazine = "d"輸出 false
範例二:
輸入 ransomNote = "bb", magazine = "bc"
輸出 false
範例三:
輸入 ransomNote = "aabc", magazine = "cbaa"
輸出 true
範例四:
輸入 ransomNote = "bb", magazine = "bcb"
輸出 true
解法一:
判斷 ransomNote 的一個字母是否有在 magazine 出現,若沒有輸出 false。
若有,則將此字母從 magazine 移除。
ransomNote 每個字母都判斷完畢後,即可輸出 true。
Python Code
解法二:
使用 key 和 value 的資料結構 letterDic,將 magazine 的每個字母出現的個數統計起來。
判斷 ransomNote 的一個字母是否有在 letterDic 的所有 key 值中出現,若沒有,輸出 false。
若有,將此 key 的 value 減去 1,若此 value 值為零時,從 letterDic 刪除此 key。
ransomNote 每個字母都判斷完畢後,即可輸出 true。
Python Code
沒有留言:
張貼留言