17 實現包含min函式的最小棧

2021-08-17 17:16:54 字數 478 閱讀 7280

定義棧的資料結構,請在該型別中實現乙個能夠得到棧最小元素的min函式。

利用兩個棧實現,stack1和stack2. stack1實現棧的基本功能pop();top()等,stack2實現min()功能,

每當乙個元素value壓入stack1中時候,比較value 和 stack2.top()元素,把min(value,stack2.top())再壓入stack2中,

相當於在stack2中儲存每一步的最小元素,在pop()彈出時候,stack1和stack2同步壓出即可。

**如下:

void push(int value) {

stack1.push(value);

if(stack2.empty())

stack2.push(value);

else//棧2不為空

{if(valuestack1;

stackstack2;

包含min函式的最小棧

題目 定義棧的資料結構,請在該型別中實現乙個能夠得到棧的最小元素的min函式。在該棧中,呼叫min,push,及pop的時間複雜度都是o 1 劍指offer上面的題目。廢話不多說,直接上 include stdafx.h include include include using namespace...

js 包含min函式的棧 包含min函式的棧

目標 定義棧的資料結構,請在該型別中實現乙個能夠得到棧的最小元素的 min 函式在該棧中,呼叫 min push 及 pop 的時間複雜度都是 o 1 設計思路 我們要做的是在我們每次資料入棧的時候,記錄當前資料棧中最小值,並且在pop 出棧之後依然能找到最小值 方案 如果只用乙個 min 變數來儲...

c 實現 包含min函式的棧

題目描述 定義棧的資料結構,請在該型別中實現乙個能夠得到棧中所含最小元素的min函式 時間複雜度應為o 1 注意 保證測試中不會當棧為空的時候,對棧呼叫pop 或者min 或者top 方法。分析題目 要求實現乙個o 1 時間複雜度的返回最小值的棧。正常情況下,棧的push,pop操作都為o 1 但是...