Day58力扣打卡

打卡记录

下一个更大元素 IV(单调栈 x2)

链接

python 复制代码
class Solution:
    def secondGreaterElement(self, nums: List[int]) -> List[int]:
        ans = [-1] * len(nums)
        s = []
        t = []
        for i, x in enumerate(nums):
            while t and nums[t[-1]] < x:
                ans[t.pop()] = x  # t 栈顶的下下个更大元素是 x
            j = len(s) - 1
            while j >= 0 and nums[s[j]] < x:
                j -= 1  # s 栈顶的下一个更大元素是 x
            t += s[j + 1:]  # 把从 s 弹出的这一整段元素加到 t
            del s[j + 1:]  # 弹出一整段元素
            s.append(i)  # 当前元素(的下标)加到 s 栈顶
        return ans
相关推荐
yyy(十一月限定版)几秒前
C语言——堆
c语言·开发语言·算法
澜莲花1 分钟前
python图色之opencv基础
开发语言·图像处理·python·opencv
喜欢吃燃面2 分钟前
算法竞赛中的数据结构:图
开发语言·数据结构·c++·学习·算法
工业互联网专业4 分钟前
国内python职位数据分析_flask+spider
python·数据分析·flask·毕业设计·源码·课程设计·spider
可触的未来,发芽的智生5 分钟前
新奇特:象棋与麻将,解析生成大模型的两种哲学
javascript·人工智能·python·程序人生·自然语言处理
星源~7 分钟前
TensorFlow 开发环境搭建指南:Anaconda 与 Miniconda 抉择及环境搭建步骤
人工智能·python·tensorflow·嵌入式·mcu+ai
笙枫8 分钟前
Agent 进阶设计:状态管理、中间件与多Agent协作
java·服务器·python·ai·中间件
NullPointer88 分钟前
【剪映小助手源码精讲】第32章:日志管理系统
python·aigc
小李小李快乐不已9 分钟前
贪心算法理论基础
c++·算法·leetcode·贪心算法
爱喝热水的呀哈喽10 分钟前
子模代数。
算法·编辑器