leetcode 面試題59 - II. 隊列的最大值

這題很是經典。與棧的最大值不一樣,隊列因爲每次出隊列的是首部的數,因此維護前i個值的最大值明顯沒法知足O(1).code 這題的巧妙之處在於,維護一個單調遞減的數列。由於當出現一個新的最大值時,前面的數已經沒有用了。如今即便刪除前面的數,最大值仍是不變的。因此維護單調遞減的數列,每次取最前面的數,就是隊列的最大值。隊列 class MaxQueue { queue<int> que;
相關文章
相關標籤/搜索