美文网首页
2022-10-21 栈底垫上杯底,,初始化技巧

2022-10-21 栈底垫上杯底,,初始化技巧

作者: 木马音响积木 | 来源:发表于2022-10-20 15:33 被阅读0次
class StockSpanner:
    def __init__(self):
        #最厉害的这里,初始化技巧
        self.stack = [(-1, inf)]   
        self.idx = -1

    def next(self, price: int) -> int:
        self.idx += 1
        while price >= self.stack[-1][1]:
            self.stack.pop()
        self.stack.append((self.idx, price))
        return self.idx - self.stack[-2][0]

#作者:LeetCode-Solution  官方有优美的栈垫底,,



'''class StockSpanner:

    def __init__(self):
        self.la=[]
        self.index=0

    def next(self, price: int) -> int:
        cha=1
        self.index+=1 
        while self.la !=[] and self.la[-1][0] <= price:
            self.la.pop()
        
        if not self.la:
            self.la.append((price,self.index))
            return self.index

        a=self.la[-1][1]
        self.la.append((price,self.index))
        cha=self.index -a 
        return cha'''


相关文章

  • 栈练习题

    第一题 1、 定义 初始化栈/*思路: 如果栈底为空 分配一个最大容量Stack_Init_Size的数组,栈底/...

  • 数据结构实验1.4:栈和队列

    实验内容 : 1.采用链式存储实现栈的初始化、入栈、出栈操作。2.采用顺序存储实现栈的初始化、入栈、出栈操作。3....

  • 链栈的操作

    链栈的定义 链栈的操作 初始化 判断栈空 入栈 出栈

  • 顺序栈的操作

    栈的定义 栈的操作 初始化 判断为空 入栈 出栈 获取栈顶元素

  • 栈 栈 是限定在 栈顶 进行插入和删除的线性表 栈:先进后出,后进先出 栈底指针 bottom栈顶指针 top栈底...

  • 单调栈 2020-06-12(未经允许,禁止转载)

    1.单调栈 指栈内元素保持单调性的栈结构,分为单调增栈(栈底到栈顶元素递增)和单调减栈(栈底到栈顶元素递减) 2....

  • 如何仅用递归函数和栈操作逆序一个栈

    【题目】 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底...

  • 用递归函数和栈操作逆序一个栈

    题目描述 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底...

  • 如何仅仅用递归函数和栈操作逆序一个栈

    题目描述 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底...

  • 仅用递归函数和栈操作逆序一个栈[c++]

    【题目】一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底为...

网友评论

      本文标题:2022-10-21 栈底垫上杯底,,初始化技巧

      本文链接:https://www.haomeiwen.com/subject/bhrmzrtx.html