LeetCode題解(面試03.02):設計能夠在常數時間內檢索到最小元素的棧(Python)
題目:原題連結(簡單)
標籤:設計、棧
解法 | 時間複雜度 | 空間複雜度 | 執行用時 |
---|---|---|---|
Ans 1 (Python) | O ( N ) O(N) O(N) | O ( N ) O(N) O(N) | 68ms (94.18%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class MinStack:
def __init__(self):
self.stack = []
def push(self, x: int) -> None:
if not self.stack:
self.stack.append(x)
self.stack.append(x)
else:
min_val = self.stack[-1]
self.stack.append(x)
self.stack.append(min(min_val, x))
def pop(self) -> None:
self.stack.pop()
return self.stack.pop()
def top(self) -> int:
return self.stack[-2]
def getMin(self) -> int:
return self.stack[-1]
相關文章
- Leetcode 演算法題解系列 - 最小棧LeetCode演算法
- leetcode.最小棧問題LeetCode
- python常見面試題講解(二)計算字元個數Python面試題字元
- 鄭州達內:設計師常的經典面試題面試題
- 好程式設計師Python教程分享常見的Python面試題程式設計師Python面試題
- LeetCode-最小棧LeetCode
- LeetCode#面試題 17.10. 主要元素LeetCode面試題
- 在一行中輸出能夠組成的最小的數
- 好程式設計師Python教程分享Python常見面試問題程式設計師Python面試
- 面試Python機器學習時,常見的十個面試題Python機器學習面試題
- CSS 技巧篇(六):display設定元素為行內元素時,元素之間存在間隙問題CSS
- 【LeetCode】155. 最小棧LeetCode
- 常見面試演算法題JS實現-設計一個有getMin功能的棧面試演算法JS
- Python培訓常識:Python面試中常被問到的幾種設計模式要知道Python面試設計模式
- 每日leetcode——155. 最小棧LeetCode
- Python面試常見問題Python面試
- LeetCode 面試題16.07[最大數值]LeetCode面試題
- 5年程式設計師面試,常見面試問題解析程式設計師面試
- Linux網路程式設計常見面試題Linux程式設計面試題
- Java程式設計師面試常見問題Java程式設計師面試
- 【200人面試經驗】,程式設計師面試,常見面試題解析程式設計師面試題
- 圖解Java設計模式-面試題圖解Java設計模式面試題
- 求職面試常見問題:Python常見面試題全解析附答案求職Python面試題
- LeetCode題解(1512):好數對的數目(Python)LeetCodePython
- leetcode 面試題02.08.環路檢測 JavaLeetCode面試題Java
- 好程式設計師分享:Java面試題常見問題程式設計師Java面試題
- LeetCode題解(Offer17):列印從1到最大的n位數(Python)LeetCodePython
- LeetCode 面試題 08.03. 魔術索引 | PythonLeetCode面試題索引Python
- 常見12個python面試題整理Python面試題
- LeetCode1450. 在既定時間做作業的學生人數LeetCode
- LeetCode 面試題01.06LeetCode面試題
- [M設計+雜湊表] lc380. 常數時間插入、刪除和獲取隨機元素(設計+雜湊表)隨機
- 好程式設計師web前端分享常見面試題程式設計師Web前端面試題
- JavaScript陣列檢索指定元素JavaScript陣列
- LeetCode題解(面試02.08):尋找連結串列與環的交點(Python)LeetCode面試Python
- Leetcode121、買賣股票的最佳時機(Python題解)只買一次,位元組跳動面試題LeetCodePython面試題
- 程式設計師面試常問計算機網路問題程式設計師面試計算機網路
- 雲端計算面試題及答案,常見的Shell指令碼面試題面試題指令碼