383. Ransom Note (贖金信)

閱讀時間約 1 分鐘

英文版點我中文版點我


↑看個小廣告,支持好內容↑



❶ Hash Table (索引、桶子)

題意不複雜,判斷給定的 magazine 字庫能否湊成 ransomNote 就行,這是蠻直觀的計數問題:

1. 計算字庫 (magazine) 裡各種字母的數量
2. 逐一扣除 ransomNote 含有的字母


要是過程中扣出負值,就代表有字母不夠用了,反之則為成功。由於小寫字母共 26 種,我們用 map 或是長度 26 的陣列來統計都 OK!空間複雜度可以視為 O(26)。

但如果我們不想花耗任何空間,是有可能的嗎?


❷ Replace

那我們就得模擬 ransomNote 的產生了,這邊有個實例:

// magazine="apple", ransomNote="panel"

1. 字庫找到 a,拿掉目標字的 a 代表已經湊得:p_nel。
2. 字庫找到 p,拿掉目標字的 p 代表已經湊得:__nel。
3. 字庫找到 p,目標字已沒有 p 因此無影響。​
4. 字庫找到 l,拿掉目標字的 l 代表已經湊得:__ne_。
5. 字庫找到 e,拿掉目標字的 e 代表已經湊得​:__n__。​(n 沒被湊出,任務失敗)


對於字庫出現的字母,我們一一拿去取代目標單字,倘若 ransomNote 變成空字串,即表示單字有成功組成。這個方法省去計數器的空間,卻需要反覆遍歷字串執行 replace,可以說是用時間換取了空間。



  • 本題分類標籤:Hash TableStringCounting
  • 本題正解率=60.5%

❤️ 若內容對你實用,歡迎追蹤本專題,或小額贊助支持~
⭐ 這是我的第 20 篇刷題筆記,完整解題索引看這裡 → Here

54會員
59內容數
我要成為 LeetCode 王!快跟我一起踏上旅程!
留言0
查看全部
發表第一個留言支持創作者!
LeetCode King 的其他內容
總是記不順雙指針法的程序?畫圖跑一次給你看!
班上闖來了一個陌生人!該如何快狠準揪出他?這道經典考題的解法,遠比你想的還要多種 ......
總是記不順雙指針法的程序?畫圖跑一次給你看!
班上闖來了一個陌生人!該如何快狠準揪出他?這道經典考題的解法,遠比你想的還要多種 ......
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
近年最受大眾所注視的Ransomware事件,要數2017年的Wannacry,當時不論是大型企業或是每年投放大量資源於資訊保安的銀行、政府機構也不能倖免。 過去幾年,看似沒有關於Ransomware嚴重保安事故的新聞報導,但是Ransomware的威脅不單沒有減低,越來越多的企業正受到更多模化的
Thumbnail
2023/07/23 這學校很酷,有提供民眾機車駕照考試模擬練習的場地,接著昨天緊鑼密鼓的吊車與攀樹修剪,和滿天烏雲打交道讓人又期待又害怕。 有山貓協助樹枝拖拉實在輕鬆又有效率,不然今天大概會多兩個小時在清運樹枝。 完工在屋簷下吃午餐的時候開始狂風暴雨雷聲轟隆,大家看著雨露出笑容,我們順利躲過
Thumbnail
Python的random模組是一個非常實用的工具,可以讓我們在程式中生成隨機數或從序列中隨機選擇元素。下面介紹一些常用的random模組函數。 首先,我們需要導入random模組,可以使用以下語句進行導入: 接下來,我們來看看random模組中的一些基本函數: random.random()
Thumbnail
雖然小吉很可愛,不過能趁著假期請人照顧孩子出門度假也挺好 豐收祭就是個放下一切,出門渡假的日子 不限時地的想望都幫你完成唷!😆 順手查了一下誠是何許人也。按照輩分算是熱浪的叔叔(春戀的兒子。熱浪的爺爺的弟弟的小孩) 一起來吃節慶大餐 吃飽休息過後,游泳、泡澡、看電視,總之做些放鬆的事
Thumbnail
你都如何繼續發展舊有的筆記呢? 在Obsidian中,我會利用Random功能,隨意叫出舊有的筆記,有感覺就加上幾筆。 這個流程其實超神奇的!達到了複習,刺激思考,獲得新知的多重效果,讓人欲罷不能! 下面3個私房經驗,或許也能幫助你更好發展筆記: 私房經驗1 - 善用隨機閱讀,多讀筆記:Obsidi
Thumbnail
就跟鄉土劇的劇情一樣,我們就一直跑一直跑,跑到喘不過氣來,最後跪在泥土路上看著他們遠去。
Thumbnail
透過random模組生成的隨機數並非是真正完全隨機的,而是可以被重現的,因此這個特徵也被稱為是偽隨機(pseudo-random),而重現隨機數的方式便是透過設定相同的種子(seed),或是設定隨機數生成器的狀態(state)來達成。
Thumbnail
當我們需要在程式中模擬或實作一些隨機發生的事件,例如模擬猜拳、丟骰子的結果,便需要程式可以根據開發者輸入的數值範圍、型態等,隨機產生一個結果,而Python的random()函數便是用於實現這個功能。
Thumbnail
完整標題:random 與「亂」、「亂的樣模」(亂的模樣) 、「亂做規節律搞混(雜)」或「亂治規節律理經(治)」或「亂搞」或「隨機」或「混雜」、「亂雜」、「亂混」等的轉換密碼
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
近年最受大眾所注視的Ransomware事件,要數2017年的Wannacry,當時不論是大型企業或是每年投放大量資源於資訊保安的銀行、政府機構也不能倖免。 過去幾年,看似沒有關於Ransomware嚴重保安事故的新聞報導,但是Ransomware的威脅不單沒有減低,越來越多的企業正受到更多模化的
Thumbnail
2023/07/23 這學校很酷,有提供民眾機車駕照考試模擬練習的場地,接著昨天緊鑼密鼓的吊車與攀樹修剪,和滿天烏雲打交道讓人又期待又害怕。 有山貓協助樹枝拖拉實在輕鬆又有效率,不然今天大概會多兩個小時在清運樹枝。 完工在屋簷下吃午餐的時候開始狂風暴雨雷聲轟隆,大家看著雨露出笑容,我們順利躲過
Thumbnail
Python的random模組是一個非常實用的工具,可以讓我們在程式中生成隨機數或從序列中隨機選擇元素。下面介紹一些常用的random模組函數。 首先,我們需要導入random模組,可以使用以下語句進行導入: 接下來,我們來看看random模組中的一些基本函數: random.random()
Thumbnail
雖然小吉很可愛,不過能趁著假期請人照顧孩子出門度假也挺好 豐收祭就是個放下一切,出門渡假的日子 不限時地的想望都幫你完成唷!😆 順手查了一下誠是何許人也。按照輩分算是熱浪的叔叔(春戀的兒子。熱浪的爺爺的弟弟的小孩) 一起來吃節慶大餐 吃飽休息過後,游泳、泡澡、看電視,總之做些放鬆的事
Thumbnail
你都如何繼續發展舊有的筆記呢? 在Obsidian中,我會利用Random功能,隨意叫出舊有的筆記,有感覺就加上幾筆。 這個流程其實超神奇的!達到了複習,刺激思考,獲得新知的多重效果,讓人欲罷不能! 下面3個私房經驗,或許也能幫助你更好發展筆記: 私房經驗1 - 善用隨機閱讀,多讀筆記:Obsidi
Thumbnail
就跟鄉土劇的劇情一樣,我們就一直跑一直跑,跑到喘不過氣來,最後跪在泥土路上看著他們遠去。
Thumbnail
透過random模組生成的隨機數並非是真正完全隨機的,而是可以被重現的,因此這個特徵也被稱為是偽隨機(pseudo-random),而重現隨機數的方式便是透過設定相同的種子(seed),或是設定隨機數生成器的狀態(state)來達成。
Thumbnail
當我們需要在程式中模擬或實作一些隨機發生的事件,例如模擬猜拳、丟骰子的結果,便需要程式可以根據開發者輸入的數值範圍、型態等,隨機產生一個結果,而Python的random()函數便是用於實現這個功能。
Thumbnail
完整標題:random 與「亂」、「亂的樣模」(亂的模樣) 、「亂做規節律搞混(雜)」或「亂治規節律理經(治)」或「亂搞」或「隨機」或「混雜」、「亂雜」、「亂混」等的轉換密碼