最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
汶上县| 洱源县| 方城县| 麻阳| 靖安县| 耒阳市| 石家庄市| 海门市| 德化县| 施甸县| 温宿县| 郴州市| 光山县| 罗山县| 社旗县| 兴山县| 荆州市| 德兴市| 改则县| 大城县| 宜黄县| 溆浦县| 城步| 宁武县| 英吉沙县| 天长市| 河北省| 茌平县| 竹山县| 阳西县| 正镶白旗| 九寨沟县| 稷山县| 英山县| 穆棱市| 武威市| 瑞金市| 石阡县| 满城县| 木兰县| 冷水江市|