[閒聊] leetcode 大師請進

作者: ZooseWu (N5)   2024-05-06 21:12:08
幫我解題
我有一組不重複的正整數一維陣列
每次行動可以將某個數字插入另一個數字的後面
行動以一個長度為二的陣列[a, b]表示 a 插入 b 後面
如果元素要放到開頭就以插入 0 表示
求最小行動數的二維陣列
ex:
題目: [1, 3, 7, 9, 5, 2]
答: [[2, 1], [5, 3]]
題目: [9, 7, 5, 3, 1]
答: [[1, 0], [3, 1], [5, 3], [7, 5]]
或是 [[7, 0], [5, 0], [3, 0], [1, 0]]
題目的陣列長度是三位數
元素都是正整數(其實沒差,不過限定正整數比較好設定排頭)
作者: Rushia (みけねこ的鼻屎)   2024-05-06 21:21:00
看起來是monotonic stack
作者: oinishere (是oin捏)   2024-05-06 21:22:00
monotonic stack+1
作者: sustainer123 (caster)   2024-05-06 21:23:00
同上
作者: oinishere (是oin捏)   2024-05-06 21:26:00
nlogn 感覺可以欸 每進一個數字 往回找到位子插入 可以用二分搜找位子n感覺好像不行了 因為要知道插進去哪裡
作者: DJYOSHITAKA (Evans)   2024-05-06 21:33:00
直接用upper_bound()或lower_bound() 對不起
作者: sustainer123 (caster)   2024-05-06 21:34:00
我粗看是想到n**2
作者: ZooseWu (N5)   2024-05-06 21:35:00
我找一下monotonic stack 沒聽過這玩意兒
作者: pandix (麵包屌)   2024-05-06 21:44:00
三位數可以直接counting sort了
作者: ZooseWu (N5)   2024-05-06 22:44:00
元素大小未知,數量是三位數

Links booklink

Contact Us: admin [ a t ] ucptt.com