設計乙個支援 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...