Problem
目標從起始序列經過操作變成目標序列。
- 操作 1 : 任意替除掉一個元素。
- 操作 2 : 將元素插入到任意位置。
請問最少次數為何
Sample Input
|
|
Sample Output
|
|
Solution
很明顯地看出,任意插入就可以直接無視,只要找有最長共同子序列即可,剩餘的元素一次替除一次插入即可。
但是最長子序列在這一題無法使用 O(n * n)
的算法,因此將其轉換成 LIS 做法,由於元素恰好不重複,可以在 O(n log n)
完成 (轉換不造成元素增加)。
|
|