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

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

分享到微博請遵守國家法律
高密市| 鹤庆县| 商水县| 安新县| 蓝田县| 全椒县| 黑龙江省| 开原市| 吴江市| 阿城市| 台江县| 清原| 福建省| 海宁市| 手游| 尼玛县| 江城| 潮安县| 赣榆县| 清苑县| 长汀县| 徐水县| 海伦市| 班戈县| 北京市| 睢宁县| 波密县| 炉霍县| 庄河市| 富阳市| 汉中市| 潮安县| 廊坊市| 衡阳县| 武义县| 温州市| 宝应县| 重庆市| 宝丰县| 广东省| 渭源县|