切換
舊版
前往
大廳
主題

LeetCode - 383. Ransom Note 解題心得

Not In My Back Yard | 2020-10-10 00:00:34 | 巴幣 2 | 人氣 492

題目連結:


題目意譯:
給定一個隨意的勒索信字串,以及另一個包含所有雜誌的字母之字串。撰寫一個一個函式,當勒索信的內容可以用雜誌的字母組成時回傳真(True),反之回傳假(False)。

雜誌裡的每個字母只能在勒索信裡被使用一次。

限制:
你可以假設兩個字串皆只包含小寫字母。



範例測資:
範例 1:
輸入: ransomNote = "a",magazine = "b"
輸出: false

範例 2:
輸入: ransomNote = "aa",magazine = "ab"
輸出: false

範例 3:
輸入: ransomNote = "aa",magazine = "aab"
輸出: true


解題思維:
就像在找兩個陣列的重複元素一樣。

將 magazine 中的字元丟進雜湊表並記錄出現次數,然後掃過 ransomNote 字串,如果有字母在雜湊表裡出現而且目前出現次數 ≧ 1 ,則將出現次數減去 1;反之,則可知 magazine 的字元無法組成 ransomNote ,即回傳假。如果沒有回傳過假,最後就回傳真。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作