摘要:題目描述設計一個支持,,操作,并能在常數時間內檢索到最小元素的棧。刪除棧頂的元素。檢索棧中的最小元素。示例返回返回返回代碼實現
題目描述
設計一個支持 push,pop,top 操作,并能在常數時間內檢索到最小元素的棧。
push(x) -- 將元素 x 推入棧中。 pop() -- 刪除棧頂的元素。 top() -- 獲取棧頂元素。 getMin() -- 檢索棧中的最小元素。
示例:
MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> 返回 -3. minStack.pop(); minStack.top(); --> 返回 0. minStack.getMin(); --> 返回 -2.代碼實現
/** * initialize your data structure here. */ var MinStack = function() { this.s1 = []; this.s2 = []; }; /** * @param {number} x * @return {void} */ MinStack.prototype.push = function(x) { let s2 = this.s2, s2Len = s2.length, s1 = this.s1; let curMin = s2[s2Len-1]; if(curMin < x) s2.push(curMin); else s2.push(x); s1.push(x); }; /** * @return {void} */ MinStack.prototype.pop = function() { let s1 = this.s1, s1Len = s1.length, s2 = this.s2, s2Len = s2.length; if(s1Len === 0) return undefined; s2.pop(); return s1.pop(); }; /** * @return {number} */ MinStack.prototype.top = function() { let s1 = this.s1, s1Len = s1.length; if(s1.length === 0) return undefined; return s1[s1Len-1]; }; /** * @return {number} */ MinStack.prototype.getMin = function() { let s2 = this.s2, s2Len = s2.length; if(s2Len === 0) return undefined; return s2[s2Len-1]; }; /** * Your MinStack object will be instantiated and called as such: * var obj = Object.create(MinStack).createNew() * obj.push(x) * obj.pop() * var param_3 = obj.top() * var param_4 = obj.getMin() */
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97084.html
摘要:刪除棧頂的元素??梢粤硗庑陆ㄒ粋€棧來順序存入數據最小值。另外在數據入棧時需要判斷該值是否比輔助棧的棧頂元素的值更小,如果更小,也應該將它加入輔助棧。并且需要判斷輔助棧是否為空,在不空的條件下才可以取棧頂元素比較,否則會溢出。 LeetCode 155:最小棧 Min Stack 設計一個支持 push,pop,top 操作,并能在常數時間內檢索到最小元素的棧。 push(x) -- ...
摘要:題目地址題目描述設計一個支持,,操作,并能在常數時間內檢索到最小元素的棧。將元素推入棧中。刪除棧頂的元素。示例返回返回返回解答每次入棧都放入兩個元素,分別是當前元素,和當前的最小元素因此放入之前需要和當前值進行比較。 題目地址:https://leetcode-cn.com/probl...題目描述:設計一個支持 push,pop,top 操作,并能在常數時間內檢索到最小元素的棧。 p...
摘要:題目描述定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的函數。 題目描述 定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的min函數。 分析 該題目要求實現一個帶有返回當前棧中最小元素功能的數據結構,首先會想到使用一個變量保存當前最小元素的下標,但是仔細一想,如果當前最小元素剛好在棧頂,此時執行pop操作,那么最小元素會被彈出,新的最小元素又上哪兒找呢?比較暴力的方...
摘要:正如我標題所說,簡歷被拒??戳宋液啔v之后說頭條競爭激烈,我背景不夠,點到為止。。三準備面試其實從三月份投遞簡歷開始準備面試到四月份收,也不過個月的時間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學投稿的面試經歷 關注微信公眾號:進擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學的分享 目錄: 印象中的頭條 面試背景 準備面試 ...
閱讀 2951·2021-11-24 09:39
閱讀 2858·2021-09-29 09:34
閱讀 3550·2021-09-24 10:23
閱讀 1735·2021-09-22 15:41
閱讀 1691·2019-08-30 15:55
閱讀 3508·2019-08-30 13:58
閱讀 2615·2019-08-30 13:11
閱讀 1663·2019-08-29 12:31