18 包含min函式的棧

2021-07-11 15:10:13 字數 1004 閱讀 1013

包含min函式的棧

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

劍指offer上的例子講解的非常精彩。

error: control may reach end of non-void function [-werror,-wreturn-type]
意為無法找到non-void function的返回值。

// 17.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include using namespace::std;

class solution

else

else

} }void pop()

if (!minstack.empty())

} int top()

} int min()

};int _tmain(int argc, _tchar* argv)

第二次做:

第一次做時寫了測試用例,說明沒有一次性通過,第二次便一次性通過了,而且感覺更簡潔:

class solution  else  else 

}data_stack.push( value ) ;

}void pop()

int top()

int min()

private:

stackmin_stack ;

stackdata_stack ;

};

第三次做:

class solution 

}void pop()

}int top()

int min()

stackdata_stack ;

stackmin_stack ;

};

20 包含min函式的棧

思路1 選用存放資料的棧s和存放當前最小值的輔助棧mins,當s記憶體入比當前最小值還小的樹,則該數字入輔助棧,若存放值比當前最小值大,則再次存入當前最小值到輔助棧 這樣mins存在冗餘資訊,可進一步改進。1 class solution else void 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...