題目描述
實現乙個特殊功能的棧,在實現棧的基本功能的基礎上,再實現返回棧中最小元素的操作。
輸入描述:
第一行輸入乙個整數n,表示對棧進行的操作總數。
下面n行每行輸入乙個字串s,表示操作的種類。
如果s為"push",則後面還有乙個整數x表示向棧裡壓入整數x。
如果s為"pop",則表示彈出棧頂操作。
如果s為"getmin",則表示詢問當前棧中的最小元素是多少。
輸出描述:
對於每個getmin操作,輸出一行表示當前棧中的最小元素是多少。
備註:1<=n<=1000000
-1000000<=x<=1000000
資料保證沒有不合法的操作
示例1輸入
6push 3
push 2
push 1
getmin
popgetmin輸出1
2思路:
維護兩個棧s,mins,時刻保持s和mins的size相同,s記錄原始輸入資料,mins.back()表示當前相同size的s的最小值
push的時候若num小於mins.back(),則push num到mins,否則將mins.back()再push一遍
pop的時候兩個棧同時彈出即可
#include #include #include using namespace std;
class sstack
if(cmd=="pop") ans.pop();
if(cmd=="getmin") cout<}
return 0;
}
棧與佇列1 設計getMin功能的棧
設計棧,實現基本功能的前提下,實現返回棧內最小元素的功能 1.push,pop,getmin 複雜度為o 1 2.允許使用現成棧結構 使用兩個棧,stackdata和stackmin,stackmin負責存最小值 共同點 都用stackmin儲存stackdata的最小值,時間複雜度均為o 1 空間...
實現GetMin功能的棧
題目 實現乙個特殊的棧,在實現棧的基本功能的基礎上,再實現返回棧中最小元素的棧。要求 1 pop push getmin操作的時間複雜度都為o 1 2 設計的站型別可以使用現成的棧結構 棧的一些基本定義模板 標頭檔案 include 模板 型別名 template struct specstack ...
設計乙個具有getMin 功能的棧
設計乙個具有getmin 功能的棧 1.push pop getmin 時間複雜度為o 1 2.設計棧時可以使用現有的棧結構 設計乙個具有getmin 功能的棧 1.pop,push,getmin 時間複雜度為o 1 2.設計的棧可以使用現有的棧結構 author nemo public class...