最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)包含min函數(shù)的棧

 更新時間:2016年04月29日 11:55:18   作者:阿涵-_-  
這篇文章主要介紹了Python實現(xiàn)包含min函數(shù)的棧,可實現(xiàn)棧中元素的計算及進(jìn)棧出棧等操作,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)包含min函數(shù)的棧。分享給大家供大家參考,具體如下:

# coding=utf8
'''
題目:定義棧的數(shù)據(jù)結(jié)構(gòu),請在該類型中實現(xiàn)一個能夠得到棧的最小元素的min函數(shù)。
在該棧中,調(diào)用min、push及pop的時間復(fù)雜度都是O(1)。
'''
class Stack():
  def __init__(self):
    self.main_stack = []
    # 輔助棧,每次次最小的元素壓入輔助棧
    self.assist_stack = []
    # 記錄棧中的最小元素
    self._min = None
  def min(self):
    return self._min
  def push(self, data):
    self.main_stack.append(data)
    if self._min is None:
      self._min = data
    else:
      if data < self._min:
        self._min = data
    # 將最小的元素壓入輔助棧
    self.assist_stack.append(self._min)
  def pop(self):
    if len(self.main_stack) == 0:
      raise Exception('no data')
    elif len(self.main_stack) == 1:
      self.assist_stack.pop()
      self._min = None
      return self.main_stack.pop()
    else:
      self.assist_stack.pop()
      self._min = self.assist_stack[-1]
      return self.main_stack.pop()
if __name__ == '__main__':
  s = Stack()
  s.push(3)
  s.push(4)
  s.push(2)
  s.push(1)
  print s.min()
  s.pop()
  s.pop()
  print s.min()
  s.pop()
  print s.min()
  s.pop()
  print s.min()
  s.pop()

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python 監(jiān)控logcat關(guān)鍵字功能

    python 監(jiān)控logcat關(guān)鍵字功能

    這篇文章主要介紹了python 監(jiān)控logcat關(guān)鍵字功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Flask項目的部署的實現(xiàn)步驟

    Flask項目的部署的實現(xiàn)步驟

    本文主要介紹了Flask項目的部署的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Python海龜turtle基礎(chǔ)知識大全以及畫圖集合實例

    Python海龜turtle基礎(chǔ)知識大全以及畫圖集合實例

    turtle是一個簡單的繪圖工具,它提供了一個海龜,你可以把它理解為一個機器人,只聽得懂有限的指令,下面這篇文章主要給大家介紹了關(guān)于Python海龜turtle基礎(chǔ)知識大全以及畫圖集合的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 用python實現(xiàn)打磚塊小游戲

    用python實現(xiàn)打磚塊小游戲

    這篇文章主要為大家詳細(xì)介紹了用python實現(xiàn)打磚塊小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 淺談Python面向?qū)ο缶幊蘯op思想心得

    淺談Python面向?qū)ο缶幊蘯op思想心得

    最近在給一個小表弟教Python,主要是給他推薦了本入門書籍自學(xué),大部分內(nèi)容都還算順利,到對象一節(jié)立馬抓瞎。當(dāng)然這也在我的預(yù)料之內(nèi),OOP本就是新手最難理解和掌握的部分
    2021-09-09
  • Python numpy生成矩陣、串聯(lián)矩陣代碼分享

    Python numpy生成矩陣、串聯(lián)矩陣代碼分享

    這篇文章主要介紹了Python numpy生成矩陣、串聯(lián)矩陣代碼分享,具有一定參考價值,需要的朋友可以了解下。
    2017-12-12
  • 使用Python繪制詞云圖的詳細(xì)教程

    使用Python繪制詞云圖的詳細(xì)教程

    詞云(Word Cloud)是一種數(shù)據(jù)可視化技術(shù),用于顯示文本數(shù)據(jù)中的頻繁單詞,在本教程中,我們將使用 Python 的 wordcloud 庫,結(jié)合 matplotlib 和 jieba 等工具,展示如何從文本數(shù)據(jù)生成詞云圖,需要的朋友可以參考下
    2025-01-01
  • Python中matplotlib庫安裝失敗的經(jīng)驗總結(jié)(附pycharm配置anaconda)

    Python中matplotlib庫安裝失敗的經(jīng)驗總結(jié)(附pycharm配置anaconda)

    最近根據(jù)領(lǐng)導(dǎo)布置的學(xué)習(xí)任務(wù),開始學(xué)習(xí)python中的matplotlib,朋友告訴我這個很簡單,然而剛踏入安裝的門檻,就遇到了安裝不成功的問題,下面這篇文章主要給大家介紹了關(guān)于Python中matplotlib庫安裝失敗的經(jīng)驗總結(jié),需要的朋友可以參考下
    2022-08-08
  • Python爬蟲包 BeautifulSoup  遞歸抓取實例詳解

    Python爬蟲包 BeautifulSoup 遞歸抓取實例詳解

    這篇文章主要介紹了Python爬蟲包 BeautifulSoup 遞歸抓取實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Sanic框架流式傳輸操作示例

    Sanic框架流式傳輸操作示例

    這篇文章主要介紹了Sanic框架流式傳輸操作,結(jié)合實例形式分析了Sanic通過流請求與響應(yīng)傳輸操作相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2018-07-07

最新評論

文登市| 罗田县| 进贤县| 晋中市| 甘谷县| 开平市| 贡山| 浏阳市| 鲁甸县| 岢岚县| 德阳市| 鱼台县| 屯昌县| 舟山市| 延津县| 泰宁县| 怀柔区| 个旧市| 遂川县| 涿鹿县| 剑河县| 长宁县| 旌德县| 留坝县| 岱山县| 云安县| 新野县| 綦江县| 商水县| 措美县| 内丘县| 杨浦区| 镇原县| 广丰县| 夏津县| 曲靖市| 祁门县| 察雅县| 收藏| 海宁市| 新龙县|