/**
* 包含min函式的棧
*/class minstack
/*** 新增乙個元素
* min棧永遠儲存最小的元素,當新增的元素比min棧棧頂的元素小時,則入棧,否則在新增一次min棧中棧頂的值
** @param val
*/public void push(int val)
data_stack.push(val);
min_stack.push(min);
}/**
* 直接從min棧中獲取就行
** @return
*/public int getmin()
return -1;
}/**
* 彈出乙個元素
** @return
*/public int pop()
return -1;
}}
劍指Offer面試題30 包含min函式的棧
定義棧的資料結構,請在該型別中實現乙個能夠得到棧中所含最小元素的min函式 時間複雜度應為o 1 解題思路 剛開始看到這個題還以為是要自己實現棧的底層資料結構,原來是借助stack棧的資料結構設計演算法即可,一般筆試題也不會考寫底層實現,倒是面試的時候有可能會考實現底層資料結構,如實現string類...
劍指offer面試題30 包含min函式的棧
思路 在棧的結構裡面不能實現排序,所以排序的方法行不通。這裡的思路還是挺巧妙的,就是建立乙個輔助棧,裡面存放的第乙個元素就是棧的最小值,具體怎麼實現可以看下面這個 以後要把建立輔助空間來解決問題當做一種常見的思路進行考慮,特別是遇到佇列 棧結構的問題的時候要嘗試著這種思路。templatevoid ...
劍指offer 面試題30 包含min函式的棧
問題 定義棧的資料結構,請在該型別中實現乙個能夠得到棧中所含最小元素的min函式 時間複雜度應為o 1 注意 保證測試中不會當棧為空的時候,對棧呼叫pop 或者min 或者top 方法。輸入 類 輸出 類中的成員函式實現 思路 設計乙個輔助棧,入棧時,將數與輔助棧的棧頂數字相比較,如果數大於棧頂數,...