国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【刷算法】LeetCode.155-最小棧

wing324 / 1290人閱讀

摘要:題目描述設計一個支持,,操作,并能在常數時間內檢索到最小元素的棧。刪除棧頂的元素。檢索棧中的最小元素。示例返回返回返回代碼實現

題目描述

設計一個支持 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

    摘要:刪除棧頂的元素??梢粤硗庑陆ㄒ粋€棧來順序存入數據最小值。另外在數據入棧時需要判斷該值是否比輔助棧的棧頂元素的值更小,如果更小,也應該將它加入輔助棧。并且需要判斷輔助棧是否為空,在不空的條件下才可以取棧頂元素比較,否則會溢出。 LeetCode 155:最小棧 Min Stack 設計一個支持 push,pop,top 操作,并能在常數時間內檢索到最小元素的棧。 push(x) -- ...

    LeexMuller 評論0 收藏0
  • 力扣(LeetCode)155

    摘要:題目地址題目描述設計一個支持,,操作,并能在常數時間內檢索到最小元素的棧。將元素推入棧中。刪除棧頂的元素。示例返回返回返回解答每次入棧都放入兩個元素,分別是當前元素,和當前的最小元素因此放入之前需要和當前值進行比較。 題目地址:https://leetcode-cn.com/probl...題目描述:設計一個支持 push,pop,top 操作,并能在常數時間內檢索到最小元素的棧。 p...

    Scliang 評論0 收藏0
  • 算法】包含min函數的

    摘要:題目描述定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的函數。 題目描述 定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的min函數。 分析 該題目要求實現一個帶有返回當前棧中最小元素功能的數據結構,首先會想到使用一個變量保存當前最小元素的下標,但是仔細一想,如果當前最小元素剛好在棧頂,此時執行pop操作,那么最小元素會被彈出,新的最小元素又上哪兒找呢?比較暴力的方...

    justCoding 評論0 收藏0
  • 從簡歷被拒到收割今日頭條 offer,我用一年時間破繭成蝶!

    摘要:正如我標題所說,簡歷被拒??戳宋液啔v之后說頭條競爭激烈,我背景不夠,點到為止。。三準備面試其實從三月份投遞簡歷開始準備面試到四月份收,也不過個月的時間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學投稿的面試經歷 關注微信公眾號:進擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學的分享 目錄: 印象中的頭條 面試背景 準備面試 ...

    tracymac7 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<