劍指offer C 一天一題 20

2021-10-07 06:39:00 字數 670 閱讀 9196

今日碎碎念: 腦裡求財。

題目描述

定義棧的資料結構,請在該型別中實現乙個能夠得到棧中所含最小元素的min函式(時間複雜度應為o(1))。

注意:保證測試中不會當棧為空的時候,對棧呼叫pop()或者min()或者top()方法。

解題分析

空間換時間,把每次push後的最小值存如另外乙個棧。

知識點

vec.push_back(value);

vec.pop_back();

vector 最後乙個元素return vec.back();

判斷是否為空vec…empty()

**實現

class

solution

else

if(value<

min())

else

}void

pop(

)int

top(

)int

min()}

;

結果

劍指offer C 一天一題 3

今日碎碎念 今天看牛客網又看到演算法諸神黃昏之類的論調,以及一些前輩們勸轉開發,總之我現在只能兩手準備畢竟之前花時間搞了比賽和文章啊 一年應該差不多 要加油啊 題目描述 輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。解題思路 鏈結1 link 鏈結2 link 知識點 鍊錶array...

劍指offer C 一天一題 4

今日碎碎念 事情永遠幹不完啊 題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。解題思路 前序的第乙個數是節點 中序找到節點位置,節點左為左樹,右為右樹 遞迴 實現 def...

劍指offer C 一天一題 9

今日碎碎念 雨快停了 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。知識點 貪心演算法 a.建立數學模型來描述問題 b.把求解的問題分成若干個子問題 c.對每一子問題求解,得到子問題的區域性最優解 d.把子問題的解區域性最優解合...