Problem
first cousin :如果兩個字串可以藉由移除不多於一半的字符,可以變成相同的字串。
ex. abcdef
、axcyd
分別移除 (b, e, f)
、(x, y)
,就可以變成 acd
。
然而如果它們 string (A, B)要稱為 (n+1)th cousin
,則存在一個媒介 C,A 和 C 是 first cousin
以及 B 和 C 是 nth cousin
。
Sample Input
|
|
Sample Output
|
|
Solution
這題看題看得很痛苦,也就是說找兩個字串最短的關係 (請無視長的)。
然而要如何找到最短的,思考一下絕對跟 LCS 有點關係,想了一整個早上仍然沒有結果,後來看了大神代碼回溯想法:
|
|
仔細想想,這解法類似於貪心?而 LCS 存在的關係是起手用。增倍貪心,把不需要的地方直接填跟目標的內容。
|
|