LeetCode刷題筆記 155 最小棧

2021-09-09 08:20:13 字數 1024 閱讀 4341

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

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

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

top() – 獲取棧頂元素。

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

略看sdc1的時候感覺getmin()有問題,但其實push()和pop()寫的很巧妙

比如依次錄入5,4,3,2這組資料後,棧的資料為

max,5,__5,4,__4,3,_3,2

往前陣列中第二小的數,往前陣列中最小的數

sdc2用的乙個輔助棧,與資料棧同步記錄

class

minstack

public

void

push

(int x)

stack.

push

(x);

}public

void

pop(

)public

inttop()

public

intgetmin()

}

class

minstack

public

void

push

(int x)

s = temps;

min = tempm;

}

s[top+1]

= x;

if(top <0)

min[top+1]

= x;

else

min[top+1]

= x < min[top]

? x : min[top]

;

top++;}

public

void

pop(

)public

inttop()

public

intgetmin()

}

騰訊50題刷題一 leetcode155

解法二design a stack that supports push,pop,top,and retrieving the minimum element in constant time.push x push element x onto stack.pop removes the elem...

Leetcode刷題筆記

1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...

LeetCode刷題筆記

實現strstr 給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。示例 1 輸入 haystack hello needle ll 輸出 2 示例 2 輸入 haystack aaaa...