Leetcode 每日一練

2021-10-06 00:17:31 字數 913 閱讀 5277

最小棧

設計乙個支援 push ,pop ,top 操作,並能在常數時間內檢索到最小元素的棧。

push(x) —— 將元素 x 推入棧中。

pop() —— 刪除棧頂的元素。

top() —— 獲取棧頂元素。

getmin() —— 檢索棧中的最小元素。

示例:輸入:

[「minstack」,「push」,「push」,「push」,「getmin」,「pop」,「top」,「getmin」]

[,[-2],[0],[-3],,,,]

輸出:[null,null,null,null,-3,null,0,-2]

解釋:minstack minstack = new minstack();

minstack.push(-2);

minstack.push(0);

minstack.push(-3);

minstack.getmin(); --> 返回 -3.

minstack.pop();

minstack.top(); --> 返回 0.

minstack.getmin(); --> 返回 -2.

pop、top 和 getmin 操作總是在 非空棧 上呼叫。

用兩個棧 乙個記錄棧中最小的資料

class

minstack

public

void

push

(int x)

else

if(x<=stackmin.

peek()

)}public

void

pop()}

public

inttop()

public

intgetmin()

}

Leetcode 每日一練

leetcode 每日一練 擁有最多糖果的孩子 給你乙個陣列 candies 和乙個整數 extracandies 其中 candies i 代表第 i 個孩子擁有的糖果數目。對每乙個孩子,檢查是否存在一種方案,將額外的 extracandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意...

Leetcode 每日一練

猜數字 小a 和 小b 在玩猜數字。小b 每次從 1,2,3 中隨機選擇乙個,小a 每次也從 1,2,3 中選擇乙個猜。他們一共進行三次這個遊戲,請返回 小a 猜對了幾次?輸入的guess陣列為 小a 每次的猜測,answer陣列為 小b 每次的選擇。guess和answer的長度都等於3。示例 1...

Leetcode 每日一練

將有序陣列轉換為二叉搜尋樹 將乙個按照公升序排列的有序陣列,轉換為一棵高度平衡二叉搜尋樹。本題中,乙個高度平衡二叉樹是指乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。示例 給定有序陣列 10,3,0,5,9 乙個可能的答案是 0,3,9,10,null,5 它可以表示下面這個高度平衡...