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

Go語言LeetCode題解682棒球比賽

 更新時(shí)間:2022年12月28日 15:42:52   作者:劉09k11  
這篇文章主要為大家介紹了Go語言LeetCode題解682棒球比賽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

題目描述

682. 棒球比賽

你現(xiàn)在是一場采用特殊賽制棒球比賽的記錄員。這場比賽由若干回合組成,過去幾回合的得分可能會影響以后幾回合的得分。

比賽開始時(shí),記錄是空白的。你會得到一個(gè)記錄操作的字符串列表 ops,其中 ops[i] 是你需要記錄的第 i 項(xiàng)操作,ops 遵循下述規(guī)則:

  • 整數(shù) x - 表示本回合新獲得分?jǐn)?shù) x
  • "+" - 表示本回合新獲得的得分是前兩次得分的總和。題目數(shù)據(jù)保證記錄此操作時(shí)前面總是存在兩個(gè)有效的分?jǐn)?shù)。
  • "D" - 表示本回合新獲得的得分是前一次得分的兩倍。題目數(shù)據(jù)保證記錄此操作時(shí)前面總是存在一個(gè)有效的分?jǐn)?shù)。
  • "C" - 表示前一次得分無效,將其從記錄中移除。題目數(shù)據(jù)保證記錄此操作時(shí)前面總是存在一個(gè)有效的分?jǐn)?shù)。 請你返回記錄中所有得分的總和。

示例 1:

輸入:ops = ["5","2","C","D","+"]
輸出:30
解釋:
"5" - 記錄加 5 ,記錄現(xiàn)在是 [5]
"2" - 記錄加 2 ,記錄現(xiàn)在是 [5, 2]
"C" - 使前一次得分的記錄無效并將其移除,記錄現(xiàn)在是 [5].
"D" - 記錄加 2 * 5 = 10 ,記錄現(xiàn)在是 [5, 10].
"+" - 記錄加 5 + 10 = 15 ,記錄現(xiàn)在是 [5, 10, 15].
所有得分的總和 5 + 10 + 15 = 30

示例 2:

輸入:ops = ["5","-2","4","C","D","9","+","+"]
輸出:27
解釋:
"5" - 記錄加 5 ,記錄現(xiàn)在是 [5]
"-2" - 記錄加 -2 ,記錄現(xiàn)在是 [5, -2]
"4" - 記錄加 4 ,記錄現(xiàn)在是 [5, -2, 4]
"C" - 使前一次得分的記錄無效并將其移除,記錄現(xiàn)在是 [5, -2]
"D" - 記錄加 2 * -2 = -4 ,記錄現(xiàn)在是 [5, -2, -4]
"9" - 記錄加 9 ,記錄現(xiàn)在是 [5, -2, -4, 9]
"+" - 記錄加 -4 + 9 = 5 ,記錄現(xiàn)在是 [5, -2, -4, 9, 5]
"+" - 記錄加 9 + 5 = 14 ,記錄現(xiàn)在是 [5, -2, -4, 9, 5, 14]
所有得分的總和 5 + -2 + -4 + 9 + 5 + 14 = 27

示例 3:

輸入:ops = ["1"]
輸出:1

提示:

  • 1 <= ops.length <= 1000
  • ops[i] 為 "C"、"D"、"+",或者一個(gè)表示整數(shù)的字符串。整數(shù)范圍是 [-3 * 10^4, 3 * 10^4]
  • 對于 "+" 操作,題目數(shù)據(jù)保證記錄此操作時(shí)前面總是存在兩個(gè)有效的分?jǐn)?shù)
  • 對于 "C" 和 "D" 操作,題目數(shù)據(jù)保證記錄此操作時(shí)前面總是存在一個(gè)有效的分?jǐn)?shù)

思路分析

采用棧的方法,初始化一個(gè)空棧stack_i,每次從字符串中拿出一個(gè)字符,第一個(gè)字符都為數(shù)字,將當(dāng)前字符壓入棧底

若字符中取到C的話,表示將當(dāng)前棧頂?shù)脑厝〕?,若字符為D的話,表示將當(dāng)前棧頂元素的值乘以2倍,得出新的值不需要

替換棧頂?shù)闹?,因?yàn)槊恳徊讲僮鞫际仟?dú)立的,都是生成一個(gè)獨(dú)立的值,所以需要將生成的值放入棧頂,如取出的字符為+,則表示將

當(dāng)前棧頂?shù)闹岛蜅m斚旅娴哪莻€(gè)值相加生成一個(gè)新的值,新的值也是獨(dú)立操作得出來的,所以需要壓入棧頂,最后將棧中的值每個(gè)元素

相加即得到最后的答案

AC 代碼

class Solution:
    def calPoints(self, ops: List[str]) -> int:
        stack_i = []
        for i in ops:
            if i == 'C':
                stack_i.pop()
            elif i == 'D':
                stack_i.append(int(stack_i[-1])*2)
            elif i == '+':
                stack_i.append(int(stack_i[-1])+ int(stack_i[-2]))
            else:
                stack_i.append(int(i))
        return(sum(stack_i))

以上就是Go語言LeetCode題解682棒球比賽的詳細(xì)內(nèi)容,更多關(guān)于Go語言題解棒球比賽的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Go語言如何實(shí)現(xiàn)二叉樹遍歷

    詳解Go語言如何實(shí)現(xiàn)二叉樹遍歷

    這篇文章主要為大家詳解介紹了Go語言中如何實(shí)現(xiàn)二叉樹遍歷,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Go語言有一定幫助,需要的可以參考一下
    2022-04-04
  • Go語言基礎(chǔ)go接口用法示例詳解

    Go語言基礎(chǔ)go接口用法示例詳解

    這篇文章主要為大家介紹了Go語言基礎(chǔ)關(guān)于go接口的用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,在日升職加薪
    2021-11-11
  • Go基于struct?tag實(shí)現(xiàn)結(jié)構(gòu)體字段級別的訪問控制

    Go基于struct?tag實(shí)現(xiàn)結(jié)構(gòu)體字段級別的訪問控制

    本文將會基于這個(gè)主題展開,討論Go中的結(jié)構(gòu)體tag究竟是什么,我們該如何利用它,另外,文末還提供了一個(gè)實(shí)際案例,實(shí)現(xiàn)結(jié)構(gòu)體字段級別的訪問,幫助我們進(jìn)一步提升對struct tag的理解
    2024-02-02
  • 簡單聊聊為什么說Go語言字符串是不可變的

    簡單聊聊為什么說Go語言字符串是不可變的

    最近有讀者留言說,平時(shí)在寫代碼的過程中,是會對字符串進(jìn)行修改的,但網(wǎng)上都說 Go 語言字符串是不可變的,這是為什么呢,本文就來和大家簡單講講
    2023-05-05
  • Go實(shí)現(xiàn)List、Set、Stack、Deque等數(shù)據(jù)結(jié)構(gòu)的操作方法

    Go實(shí)現(xiàn)List、Set、Stack、Deque等數(shù)據(jù)結(jié)構(gòu)的操作方法

    Go語言團(tuán)隊(duì)的一個(gè)核心目標(biāo)是保持語言的簡單性,他們認(rèn)為,如果一個(gè)功能可以用簡單的組合來實(shí)現(xiàn),那就沒有必要把它放進(jìn)標(biāo)準(zhǔn)庫里,本文給大家介紹Go實(shí)現(xiàn)List、Set、Stack、Deque等數(shù)據(jù)結(jié)構(gòu)的操作方法,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Golang模擬令牌桶進(jìn)行對訪問的限流方式

    Golang模擬令牌桶進(jìn)行對訪問的限流方式

    這篇文章主要介紹了Golang模擬令牌桶進(jìn)行對訪問的限流方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 詳解go基于viper實(shí)現(xiàn)配置文件熱更新及其源碼分析

    詳解go基于viper實(shí)現(xiàn)配置文件熱更新及其源碼分析

    這篇文章主要介紹了詳解go基于viper實(shí)現(xiàn)配置文件熱更新及其源碼分析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Go語言大揭秘:適用于哪些類型的項(xiàng)目開發(fā)?

    Go語言大揭秘:適用于哪些類型的項(xiàng)目開發(fā)?

    想知道Go編程語言適合開發(fā)哪些類型的項(xiàng)目嗎?無論是網(wǎng)絡(luò)服務(wù)、分布式系統(tǒng)還是嵌入式設(shè)備,Go都能輕松應(yīng)對,本文將帶你了解Go在各種場景下的應(yīng)用,讓你更好地選擇和使用Go進(jìn)行開發(fā),需要的朋友可以參考下
    2024-01-01
  • go的strings用法小結(jié)

    go的strings用法小結(jié)

    strings 是 Go 語言標(biāo)準(zhǔn)庫中提供的一個(gè)包,用于處理字符串相關(guān)的操作,本文主要介紹了go的strings用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • GoLang中sql.Exec()報(bào)錯解決辦法

    GoLang中sql.Exec()報(bào)錯解決辦法

    這篇文章主要給大家介紹了關(guān)于GoLang中sql.Exec()報(bào)錯的解決辦法,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01

最新評論

新和县| 虹口区| 柏乡县| 雅安市| 德安县| 曲周县| 琼海市| 福建省| 新乐市| 土默特左旗| 左云县| 彭州市| 天镇县| 平南县| 崇阳县| 滨海县| 商洛市| 琼海市| 红安县| 渭南市| 桃园县| 苍山县| 沽源县| 淄博市| 宜春市| 腾冲县| 梅河口市| 杂多县| 综艺| 博客| 宜良县| 山东省| 宜黄县| 苏尼特左旗| 都匀市| 承德县| 襄樊市| 宜阳县| 固阳县| 改则县| 巴彦淖尔市|