20 包含min函式的棧

2021-08-16 04:35:15 字數 512 閱讀 1939

思路1:

選用存放資料的棧s和存放當前最小值的輔助棧mins,當s記憶體入比當前最小值還小的樹,則該數字入輔助棧,若存放值比當前最小值大,則再次存入當前最小值到輔助棧;這樣mins存在冗餘資訊,可進一步改進。

**1:

class solution  else 

}void pop()

int top()

int min()

};

思路2:

在mins輔助棧中,去除資訊的冗餘性,如果入棧值比當前棧內最小值要大,則mins輔助棧不做任何操作。但在s出棧時,則需要判斷棧頂元素與mins棧頂元素是否相等,若相等則mins.pop()。

**2:

class solution  else }}

void pop()

s.pop();

}int top()

int min()

};

20 包含min函式的棧

題目 定義乙個棧的資料結構,請在該型別中實現乙個能夠得到棧中最小元素的min函式 思路 可以使用兩個棧,乙個儲存資料,乙個儲存棧中的最小元素。例如 定義兩個棧stack1和stack2,將4壓入stack1,stack2為空,同時將4壓入stack2 然後將2壓入stack1,這時stack1的最小...

20 包含min函式的棧

題目描述 定義棧的資料結構,請在該型別中實現乙個能夠得到棧中所含最小元素的min函式 時間複雜度應為o 1 python class solution def init self self.stack 用於存放對應棧元素所在位置及之前元素最小值 self.assist defpush self,no...

20 包含min函式的棧

定義棧的資料結構,請在該型別中實現乙個能夠得到棧中所含最小元素的min函式 時間複雜度應為o 1 var stack function push node function pop function top function min 增加了乙個輔助棧,每次壓入資料棧時,把當前棧裡面最小的值壓入輔助棧...