无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Leetcode Day11 4

2022-04-13 00:18 作者:我喜歡喝一點點  | 我要投稿

劍指 Offer 30. 包含min函數(shù)的棧

定義棧的數(shù)據(jù)結(jié)構(gòu),請在該類型中實現(xiàn)一個能夠得到棧的最小元素的 min 函數(shù)在該棧中,調(diào)用 min、push 及 pop 的時間復(fù)雜度都是 O(1)。


?


示例:


MinStack minStack = new MinStack();

minStack.push(-2);

minStack.push(0);

minStack.push(-3);

minStack.min();? ?--> 返回 -3.

minStack.pop();

minStack.top();? ? ? --> 返回 0.

minStack.min();? ?--> 返回 -2.


這題我主要是看大佬的題解,用輔助棧做的,大佬太厲害了。


class?MinStack:


????def?__init__(self):

????????"""

????????initialize?your?data?structure?here.

????????"""

????????self.A=[]

????????self.B=[]


????def?push(self,?x:?int)?->?None:

????????self.A.append(x)

????????if?not?self.B?or?self.B[-1]>=x:

????????????self.B.append(x)


????def?pop(self)?->?None:

????????if?self.A.pop()==self.B[-1]:

????????????self.B.pop()


????def?top(self)?->?int:

????????return?self.A[-1]


????def?min(self)?->?int:

????????return?self.B[-1]


#?Your?MinStack?object?will?be?instantiated?and?called?as?such:

#?obj?=?MinStack()

#?obj.push(x)

#?obj.pop()

#?param_3?=?obj.top()

#?param_4?=?obj.min()



另外在解題過程中發(fā)現(xiàn),B!=None和not B是兩個概念,如果寫B(tài)!=None會導致編譯沒法通過。

百度了一下:

not B既包含了B=None,也包含了B=[],B=‘’,B={}等多種為空的情況

因此在這里,想要判斷為空列表,B=None是判斷不了的,會顯示超出范圍,也就是說B仍然為空列表的情況沒有被考慮到。

當然如果情況是為樹就不太一樣,樹的left和right節(jié)點只能為None,因此not B和!=None都可以適用。

Leetcode Day11 4的評論 (共 條)

分享到微博請遵守國家法律
阜城县| 万荣县| 泸西县| 泰兴市| 海宁市| 宜黄县| 枞阳县| 鸡泽县| 江油市| 涡阳县| 新竹市| 马尔康县| 兴山县| 盐城市| 昌吉市| 临武县| 瓦房店市| 大姚县| 高淳县| 榆林市| 沂源县| 西和县| 兴国县| 鹤庆县| 平凉市| 庆元县| 永福县| 时尚| 丰城市| 临颍县| 普兰县| 高青县| 日照市| 治多县| 句容市| 绍兴市| 章丘市| 安仁县| 纳雍县| 呈贡县| 贡嘎县|