0x3f 第43天 黑马点评全量复习一遍 + 栈两题

1.最小栈:

解法:栈里存的都是二元组( x,y)x是当前存入栈的元素,y是当前栈最小元素,这样既可以O(1)弹出当前元素,也可以O(1)弹出栈内最小元素

复制代码
class MinStack:

    def __init__(self):
        self.st = [(0,inf)]

    def push(self,val:int)->None:
        self.st.append((val,min(val,self.st[-1][1])))
    
    def pop(self):
        self.st.pop()

    def top(self)->int:
        return self.st[-1][0]
    
    def getMin(self)->int:
        return self.st[-1][1]

2.字符串解码

核心思路:遇到 就进入递归,遇到就break结束这层递归,递归前遇到数字记录下来k,技巧k = k*10+int(c)

复制代码
class Solution:
    def decodeString(self, s: str) -> str:
        i = 0
        def decode():
            nonlocal i
            res = []
            k = 0
            while i<len(s):
                c = s[i]
                i += 1
                if c.isalpha():
                    res.append(c)
                elif c.isdigit():
                    k = k*10+int(c)
                elif c=='[':
                    res.append(decode()*k)
                    k = 0
                else:
                    break
            return ''.join(res)
        return decode()

黑马点评从头看了一遍笔记,回顾了一下,准备开始新阶段了兄弟们

相关推荐
lisw052 分钟前
分岔论揭示演化突变密码
开发语言·算法·数学建模
hunteritself3 分钟前
AI 挖出 PHP「致命漏洞」!欧洲政府连夜关站,日本首相紧急喊话
开发语言·人工智能·php
aqiu11111110 分钟前
C++ TopK:使用 nth_element 快速求最小 K 个数(蓝桥杯 / LeetCode 可用)
算法
烂蜻蜓11 分钟前
Pandas入门教程(十二):读取 HTML 表格——read_html 参数详解与网页数据清洗
python·html·pandas
H.莓飛13 分钟前
【数据结构】快速排序专题
linux·服务器·c语言·数据结构·visual studio
2601_9679791214 分钟前
Opteryx Python库 macOS版本0.0.0a12
python·macos·1024程序员节·wheel·opteryx·alpha
努力实干18 分钟前
Qt/C++ 模块化设计与工程组织
开发语言·c++·qt
Suprman21 分钟前
平面排版问题的数学建模与算法设计
算法·数学建模·排序算法·排版套料
FPGA信号处理23 分钟前
【应用随机过程】:更新过程与马尔可夫链入门
算法·概率论
阿里嘎多学长25 分钟前
2026-10-23 GitHub 热点项目精选
开发语言·程序员·github·代码托管