LeetCode 筆記 - 820. Short Encoding of Words
探討如何針對單字清單建立最短的合法編碼。本文解析規則中字串包含的特性,分享先進行長度排序再依序比對後綴的優化策略。透過這套方案,能精確判斷哪些單字可被壓縮在其他單字中,達成節省存儲空間的編碼目標。
⚠️ 舊文提醒:本文發佈於約 4 年前,部分內容或指令可能已過時,請斟酌參考。
題目在此 820. Short Encoding of Words
給定一個字串清單,請給出合法的編碼字串長度
解題思維
這題編碼規則可以先仔細看一下題目
根據規則,words = [“time”, “me”, “bell”]
其中 me 可以包含在 time 裏面,所以合法的編碼字串就變成 time#bell#
所以我們拿到一個字串 x 其實就是檢查 x# 有沒有已經在答案裡面
沒有就加上去
那要達到這樣的效果,勢必比較大的字串需要先出現在答案裡面
所以需要先 Sorting 一下
程式碼
1 | class Solution: |
👌