在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LeetCode初級算法-設計問題02:最小棧

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 22:21 ? 次閱讀

LeetCode初級算法--設計問題02:最小棧

一、引子

這是由LeetCode官方推出的的經典面試題目清單~
這個模塊對應的是探索的初級算法~旨在幫助入門算法。我們第一遍刷的是leetcode推薦的題目。

二、題目

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

1、思路

第一種方法:

用列表模擬棧,push、pop、top和getMin分別對應list.append()、list.pop()、list[-1]和min()操作

第二種方法:

引入minStack列表存放最小值

2、編程實現

第一種方法:

python

class MinStack(object):

    def __init__(self):
        """
        initialize your data structure here.
        """
        self.l = []
        

    def push(self, x):
        """
        :type x: int
        :rtype: None
        """
        if x is None:
            pass
        else:
            self.l.append(x)
        

    def pop(self):
        """
        :rtype: None
        """
        if self.l is None:
            return 'error'
        else:
            self.l.pop(-1)
        

    def top(self):
        """
        :rtype: int
        """
        if self.l is None:
            return 'error'
        else:
            return self.l[-1]
        

    def getMin(self):
        """
        :rtype: int
        """
        if self.l is None:
            return 'error'
        else:
            return min(self.l)


# Your MinStack object will be instantiated and called as such:
# obj = MinStack()
# obj.push(x)
# obj.pop()
# param_3 = obj.top()
# param_4 = obj.getMin()

第二種方法:

class MinStack(object):
 
    def __init__(self):
        """
        initialize your data structure here.
        """
        self.stack = []       #存放所有元素
        self.minStack = []#存放每一次壓入數據時,棧中的最小值(如果壓入數據的值大于棧中的最小值就不需要重復壓入最小值,小于或者等于棧中最小值則需要壓入)
 
    def push(self, x):
        """
        :type x: int
        :rtype: void
        """
        self.stack.append(x)
        if not self.minStack or self.minStack[-1]>=x:
            self.minStack.append(x)
 
    def pop(self):   #移除棧頂元素時,判斷是否移除棧中最小值
        """
        :rtype: void
        """
        if self.minStack[-1]==self.stack[-1]:
            del self.minStack[-1]
        self.stack.pop()
 
    def top(self):
        """
        :rtype: int
        """
        return self.stack[-1]
        
    def getMin(self):
        """
        :rtype: int
        """
        return self.minStack[-1]

本文由博客一文多發平臺 OpenWrite 發布!

審核編輯 黃昊宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1804

    文章

    48705

    瀏覽量

    246473
  • 機器學習
    +關注

    關注

    66

    文章

    8492

    瀏覽量

    134087
  • 深度學習
    +關注

    關注

    73

    文章

    5554

    瀏覽量

    122479
  • leetcode
    +關注

    關注

    0

    文章

    20

    瀏覽量

    2429
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于APM32F407如何制作I2C EEPROM(AT24C02型號)的MDK-Keil下載算法

    基于APM32F407如何制作I2C EEPROM(AT24C02型號)的Keil下載算法,這樣在我們下載代碼時可以一鍵把數據燒錄到EEPROM中。
    的頭像 發表于 04-11 11:06 ?1021次閱讀
    基于APM32F407如何制作I2C EEPROM(AT24C<b class='flag-5'>02</b>型號)的MDK-Keil下載<b class='flag-5'>算法</b>

    深入淺出解析低功耗藍牙協議

    Bluetooth LE協議為什么要分層?怎么理解Bluetooth LE“連接”?如果Bluetooth LE協議只有ATT層沒有GATT層會發生什么? 一、協議框架 一般而言,我們把某個
    的頭像 發表于 04-09 14:49 ?378次閱讀
    深入淺出解析低功耗藍牙協議<b class='flag-5'>棧</b>

    74VHC02;74VHCT02四路2輸入或非門規格書

    電子發燒友網站提供《74VHC02;74VHCT02四路2輸入或非門規格書.pdf》資料免費下載
    發表于 02-11 16:10 ?0次下載
    74VHC<b class='flag-5'>02</b>;74VHCT<b class='flag-5'>02</b>四路2輸入或非門規格書

    自動駕駛全自研可行嗎?

    隨著自動駕駛加速落地,全自研模式在高階智能駕駛技術領域逐漸成為共識,這種模式指的是整車廠從底層硬件、軟件算法到系統集成全面自主開發,而非依賴于第三方供應商或Tier 0.5模式(車企與供應商
    的頭像 發表于 01-27 10:24 ?2906次閱讀

    MODBUS串口通訊初級入門手冊

    初級入門手冊介紹
    發表于 01-23 16:24 ?2次下載

    曙光云開啟全智能時代

    近日,“全可信 云中生智”曙光云戰略發布會召開。曙光云從首創“城市云”進化到實現“全智能云”,打造“云智、云安、云算、云數”四位一體能力體系,深度賦能千行百業數智化轉型升級。
    的頭像 發表于 12-19 15:11 ?571次閱讀

    常見的lvs負載均衡算法

    常見的lvs負載均衡算法包括輪詢(RR)、加權輪詢(WRR)、最小連接(LC)、加權最小連接(WLC)、基于局部性的最少鏈接(LBLC)、帶復制的LBLC(LBLCR)、目標地址散列(DH)、源地址
    的頭像 發表于 12-12 13:50 ?470次閱讀

    λ-IO:存儲計算下的IO設計

    動機和背景? ? 存儲計算存儲資源的充分利用。IO是管理存儲器的的基本組件,包括設備驅動、塊接口層、文件系統,目前一些用戶空間IO庫(如SPDK)有效降低了延遲,但是io仍然不可或缺。這是因為1
    的頭像 發表于 12-02 10:35 ?553次閱讀
    λ-IO:存儲計算下的IO<b class='flag-5'>棧</b>設計

    TPS62A02和TPS62A02A降壓轉換器評估模塊用戶指南

    電子發燒友網站提供《TPS62A02和TPS62A02A降壓轉換器評估模塊用戶指南.pdf》資料免費下載
    發表于 11-21 14:40 ?0次下載
    TPS62A<b class='flag-5'>02</b>和TPS62A<b class='flag-5'>02</b>A降壓轉換器評估模塊用戶指南

    RVBacktrace RISC-V極簡回溯組件

    RVBacktrace組件簡介一個極簡的RISC-V回溯組件。功能在需要的地方調用組件提供的唯一API,開始當前環境的回溯支持輸出addr2line需要的命令,使用addr2line進行棧回溯支持結合反匯編,回溯信息圖表化
    的頭像 發表于 09-15 08:12 ?719次閱讀
    RVBacktrace RISC-V極簡<b class='flag-5'>棧</b>回溯組件

    明緯電源DETN02-N系列非穩壓轉換器產品概述

    MEAN WELL明緯電源DETN02系列具體型號:DETN02L-05,DETN02L-12,DETN02L-15,DETN02M-05,
    的頭像 發表于 09-12 09:18 ?691次閱讀
    明緯電源DETN<b class='flag-5'>02</b>-N系列非穩壓轉換器產品概述

    Linux網絡協議的實現

    網絡協議是操作系統核心的一個重要組成部分,負責管理網絡通信中的數據包處理。在 Linux 操作系統中,網絡協議(Network Stack)負責實現 TCP/IP 協議簇,處理應用程序發起的網絡
    的頭像 發表于 09-10 09:51 ?590次閱讀
    Linux網絡協議<b class='flag-5'>棧</b>的實現

    PA02 PA02A功率運算放大器

    pa02u
    發表于 09-03 14:17 ?1次下載

    神經網絡優化算法有哪些

    神經網絡優化算法是深度學習領域中的核心技術之一,旨在通過調整網絡中的參數(如權重和偏差)來最小化損失函數,從而提高模型的性能和效率。本文將詳細探討神經網絡優化算法的基本原理、主要方法、變體、以及在實際應用中的注意事項和最新進展。
    的頭像 發表于 07-03 16:01 ?1131次閱讀

    TCP/IP協議的設計與實現_中文

    電子發燒友網站提供《TCP/IP協議的設計與實現_中文.pdf》資料免費下載
    發表于 07-03 11:28 ?4次下載
    主站蜘蛛池模板: 亚洲国产成人久久精品图片 | 99成人| 久久精品乱子伦免费 | 国模欢欢炮交啪啪150 | 欧美色视频网 | 女人张腿让男桶免费视频观看 | 午夜免费观看福利片一区二区三区 | 成在线人永久免费播放视频 | 亚洲区免费 | 美女被网站免费看九色视频 | 37pao强力打造免费高速高清 | 奇米影视奇米色777欧美 | 涩涩97在线观看视频 | 国产又色又爽又黄的网站在线一级 | sihu国产午夜精品一区二区三区 | 伊人网在线视频 | 日本特黄特色特爽大片老鸭 | 永久毛片 | 色婷婷色99国产综合精品 | 天天在线干 | 久久偷窥视频 | 717影院理论午夜伦八戒 | 久久久精品免费 | 亚洲精品久久久久久婷婷 | 亚洲色图吧 | 日韩有码电影 | 国产男人搡女人免费视频 | 国产呦系列呦交 | 又粗又硬又爽又黄毛片 | 操你啦网站 | 青草久草视频 | 中文字幕在线乱码免费毛片 | 在线视频你懂得 | 日本黄色大片网站 | 四虎电影免费观看网站 | 一区二区三区四区电影 | 国产精品免费久久久久影院 | 日本a级精品一区二区三区 日本a级特黄三级三级三级 | 色多多在线 | 欧美成人影院免费观 | 黄色网址在线免费观看 |