59 2 佇列的最大值

2021-10-03 09:46:54 字數 482 閱讀 8308

實現乙個函式max能夠得到佇列裡的最大值,並且時間複雜度為o(1)

很熟悉,以前做過兩個棧實現乙個棧的min,max函式的,這道題變成了佇列

所以,這裡也能夠有相似的思想,我們能不能兩個雙端佇列實現這個的max函式呢?答案是可以的。不過,,,deque的一些方法我實現是有點記混了,所以在做這道題時想不起來哪個方法是什麼意思,這裡先貼上arraydeque的用法吧:

然後就好做這道題了,放入乙個元素時先放入普通佇列,然後和輔助佇列做比較,把比該元素小的都移除佇列,然後放入該元素,因為要確保最大值,所以小的就沒用了。然後出隊的時候,判斷是不是和輔助佇列首元素相同,如果相同則一起彈出去,否則只彈出普通佇列的,**如下:

59 2 佇列的最大值

請定義乙個佇列並實現函式 max value 得到佇列裡的最大值,要求函式max value push back 和 pop front 的均攤時間複雜度都是o 1 若隊列為空,pop front 和 max value 需要返回 1 示例 1 輸入 maxqueue push back push ...

LeetCode 面試題59 2 佇列的最大值

定義乙個佇列 實現函式 max value 得到佇列裡的最大值,要求函式max value push back 和 pop front 的時間複雜度都是o 1 若隊列為空,pop front 和 max value 需要返回 1 測試用例 輸入 maxqueue push back push bac...

劍指Offer系列59 2 佇列的最大值

請定義乙個佇列並實現函式 max value 得到佇列裡的最大值,要求函式max value push back 和 pop front 的均攤時間複雜度都是o 1 若隊列為空,pop front 和 max value 需要返回 1。pythonimport queue class maxqueu...