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()

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

相关推荐
和裕9 分钟前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
tangguofeng42 分钟前
不带头结点的链队操作集(不含InitFlag)(C语言版)
算法
weixin_440730501 小时前
函数return、参数、参数组、递归函数、高阶函数等小结
开发语言·python
天赐范式1 小时前
天赐范式第181天:让视图开始切换——PBFT视图切换与从safety到liveness的跨越
python·pbft·数字生命·天赐范式·动态运行时·拜占庭容错
sugarzhangnotes1 小时前
【无标题】
开发语言·人工智能·python
geovindu1 小时前
rust: Composite Pattern
开发语言·后端·设计模式·rust·组合模式
weixin_447195292 小时前
【无标题】
pytorch·python
迅猛龙办公室2 小时前
Python实现简单的人名对话
python
苏打豆2 小时前
CRISP源码阅读——基于ROS2力矩反馈控制器与速度加速度零空间
c++·线性代数·算法·矩阵·机器人
阿坨2 小时前
firestart:一行命令启动你的日常应用和网页
python·pypi·cli·click