chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 22:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

一、引子

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

二、題目

設計一個支持 push,pop,top 操作,并能在常數(shù)時間內檢索到最小元素的棧。

  • push(x) -- 將元素 x 推入棧中。
  • pop() -- 刪除棧頂?shù)脑亍?/li>
  • 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、編程實現(xiàn)

第一種方法:

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 = []#存放每一次壓入數(shù)據(jù)時,棧中的最小值(如果壓入數(shù)據(jù)的值大于棧中的最小值就不需要重復壓入最小值,小于或者等于棧中最小值則需要壓入)
 
    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]

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!

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

    關注

    1819

    文章

    50284

    瀏覽量

    266801
  • 機器學習
    +關注

    關注

    67

    文章

    8560

    瀏覽量

    137198
  • 深度學習
    +關注

    關注

    73

    文章

    5603

    瀏覽量

    124605
  • leetcode
    +關注

    關注

    0

    文章

    20

    瀏覽量

    2557
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Onsemi NTF6P02、NVF6P02 P溝道MOSFET的特性與應用

    Onsemi NTF6P02、NVF6P02 P溝道MOSFET的特性與應用 在電子工程師的日常設計工作中,MOSFET作為常用的功率器件,其性能表現(xiàn)對整個電路的穩(wěn)定性和效率起著關鍵作用。今天我們
    的頭像 發(fā)表于 04-19 12:00 ?28次閱讀

    onsemi NTMS5P02、NVMS5P02 MOSFET深度解析

    onsemi NTMS5P02、NVMS5P02 MOSFET深度解析 在電子工程師的日常設計工作中,MOSFET是不可或缺的重要元件。今天,我們就來深入探討一下安森美(onsemi
    的頭像 發(fā)表于 04-19 10:40 ?63次閱讀

    深入解析NTR1P02和NVR1P02 P溝道MOSFET

    深入解析NTR1P02和NVR1P02 P溝道MOSFET 在電子設計領域,MOSFET作為關鍵的功率器件,對電路性能起著至關重要的作用。今天我們就來詳細探討一下安森美(onsemi
    的頭像 發(fā)表于 04-19 10:30 ?65次閱讀

    深入了解 onsemi NTR1P02L 和 NVTR01P02L P 溝道 MOSFET

    L 和 NVTR01P02L 是采用 SOT - 23 封裝的微型表面貼裝 MOSFET。它們具有低導通電阻($R_{DS(on)}$)的特性,這一特性能夠確保最小的功率損耗,有效節(jié)約能源。因此,這兩款器件非常適合用于對空間要
    的頭像 發(fā)表于 04-19 10:10 ?66次閱讀

    Z86C02/E02/L02微控制器:高性價比的512字節(jié)ROM CMOS解決方案

    Z86C02/E02/L02微控制器:高性價比的512字節(jié)ROM CMOS解決方案 在電子設計領域,尋找一款既經(jīng)濟實惠又功能強大的微控制器是許多工程師的追求。Zilog的Z86C02/
    的頭像 發(fā)表于 04-04 14:05 ?800次閱讀

    IPv6 Only 進入倒計時 ,單替代雙成網(wǎng)絡演進必然選擇

    2025年末,中國工程院院士鄔賀銓在“2026ICT行業(yè)趨勢年會”上強調“雙是過去的妥協(xié),IPv6Only才是未來的必然”,這一判斷精準點出了全球網(wǎng)絡協(xié)議演進的核心方向。隨著技術兼容方案成熟、政策
    的頭像 發(fā)表于 12-23 09:59 ?1686次閱讀
    IPv6 Only 進入倒計時 ,單<b class='flag-5'>棧</b>替代雙<b class='flag-5'>棧</b>成網(wǎng)絡演進必然選擇

    開關電源 變壓器初級電流異常

    直流開關電源,單相全橋逆變,硬開關電路 變壓器初級電流異常突變 一開始使用EE磁芯沒有問題,后來換成環(huán)形磁芯就發(fā)現(xiàn)初級電流異常了,且跟功率大小沒有關系,功率小的時候也有,且有的功率段又沒有。
    發(fā)表于 12-20 16:57

    Stack到底用來干嘛的呢?

    Stack_Size就是大小,0x00000400就是代表有1K(0x400/1024)的大小。 那這個到底用來干嘛的呢? 比如說我們函數(shù)的形參、以及函數(shù)里定義的局部變量就是存儲在里,所以
    發(fā)表于 12-01 08:04

    堆和的區(qū)別

    一個由C/C 編譯的程序占用的內存分為以下幾個部分: 區(qū)(stack):由編譯器自動分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結構中的。 堆區(qū)(heap):一般由
    的頭像 發(fā)表于 11-27 18:13 ?1214次閱讀

    基于E203 RISC-V的音頻信號處理系統(tǒng) -ANC算法簡介

    基于FxLMS算法的寬帶前饋型主動噪聲控制系統(tǒng)框圖 其中控制器部分,即是我們算法的核心運算部分,即LMS算法。通過該算法初級聲源的處理
    發(fā)表于 10-28 07:50

    TPS62A02/TPS62A02A評估模塊(EVM)技術解析與應用指南

    Texas Instruments TPS62A02EVM/TPS62A02AEVM評估模塊配置用于評估TPS62A02和TPS62A02A的運行。TPS62A
    的頭像 發(fā)表于 09-12 15:23 ?1204次閱讀
    TPS62A<b class='flag-5'>02</b>/TPS62A<b class='flag-5'>02</b>A評估模塊(EVM)技術解析與應用指南

    黑芝麻智能端到端全式輔助駕駛系統(tǒng)的應用場景

    黑芝麻智能推出的全新一代端到端全輔助駕駛系統(tǒng),以武當C1200系列高算力芯片為基石,深度融合自研感知算法,實現(xiàn)從場景感知到車輛控制的完全閉環(huán)優(yōu)化——讓輔助駕駛系統(tǒng)學會理解路況的呼吸與脈搏,真正走進“人車共駕”的黃金時代。
    的頭像 發(fā)表于 09-09 17:19 ?2799次閱讀

    自動駕駛中常提的“全”是個啥?有必要“全”嗎?

    和應用,涵蓋從底層硬件、感知算法、高精地圖、定位與融合,到?jīng)Q策規(guī)劃、控制執(zhí)行、軟件平臺,乃至整車集成與云端服務的完整鏈條。對于希望在激烈的市場競爭中占據(jù)一席之地的車企和科技公司來說,全似乎代表了掌握核心競爭
    的頭像 發(fā)表于 08-27 09:43 ?1373次閱讀
    自動駕駛中常提的“全<b class='flag-5'>棧</b>”是個啥?有必要“全<b class='flag-5'>棧</b>”嗎?

    ?REF02 精密電壓參考芯片技術文檔總結

    的影響最小。REF02 采用單電源供電,輸入范圍為 8V 至 40V,電流消耗極低,僅為 1mA,并且由于改進的設計而具有出色的溫度穩(wěn)定性。出色的線路和負載調節(jié)、低噪聲、低功耗和低成本使 REF02
    的頭像 發(fā)表于 08-15 11:15 ?1356次閱讀
    ?REF<b class='flag-5'>02</b> 精密電壓參考芯片技術文檔總結

    RISC-V架構下AI融合算力及其軟件實踐

    。目前,進迭時空已經(jīng)取得了顯著的進展,成功推出了第一個版本的智算核(帶AI融合算力的智算CPU)以及配套的AI軟件。軟件簡介AI算法部署旨在將抽象描述的多框架算法
    的頭像 發(fā)表于 06-06 17:04 ?1601次閱讀
    RISC-V架構下AI融合算力及其軟件<b class='flag-5'>棧</b>實踐