※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.56.162 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1727063540.A.2DD.html
上班偷寫
思路:
用dp解
先開一個矩陣依照字首去記錄dictionary 裡的單字
假設s有n個字元
接著再開一個dp矩陣
dp[i]表示到s[i]match 的最大字數
從0開始到n
去檢查有沒有s[i]開頭並且match的單字
有的話,假設該單字長度為m
那dp[i+m]=max(dp[i+m],dp[i]+m)
然後對於沒有match的情況
dp[i+1]=max(dp[i+1],dp[i])
所以最後就回傳n-dp[n]就好
--