給定一個數組爲每個元素找到數組中最後一個較小元素的索引。例如,假設給定的數組是{4,2,1,5,3}
。然後,每個元素的最後一個更小的元素將如下所示。爲第一對4-> 3給定一個數組,找出每個元素的最後一個較小元素
4->3
2->1
1->Null
5->3
3->Null
通告,3是在陣列的最後一個元素小於4.
所得/輸出陣列將具有索引不元素本身。結果將是{4,2,-1,4,-1}
我在接受採訪時被問到這個問題,但我想不出一個解決方案比微不足道的O(n^2)
解決方案更好。
任何幫助將不勝感激。
以一個數組爲例:'{4,2,1,5,3,6,2}'。當我從正確的過程。添加3,6,2 - '3(root)2(Left)6(right)' 現在加入'3,6,2'後,對於元素5,我們將查看樹(插入5之前) 。 2存在較小的值 - 3和2.要選擇的正確值是2,但是如果我使用底層函數,那麼它會給我3. 那麼我們如何選擇較小的值? – faizan
似乎我理解條件'最後一個小元素'錯了。 – MBo
添加新方法。 – MBo