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
相关推荐
Chen--Xing2 分钟前
2025鹏城杯 -- Crypto -- RandomAudit详解
python·密码学·ctf·鹏城杯
TL滕9 分钟前
从0开始学算法——第十六天(双指针算法)
数据结构·笔记·学习·算法
一瞬祈望25 分钟前
PyTorch 图像分类完整项目模板实战
人工智能·pytorch·python·深度学习·分类
蒲小英25 分钟前
算法-贪心算法
算法·贪心算法
mit6.82428 分钟前
链式投票|流向贪心
算法
坐吃山猪31 分钟前
BrowserUse12-源码-MCP模块
python·llm·playwright·browser-use
昔时扬尘处35 分钟前
【Files Content Replace】文件夹文件内容批量替换自动化测试脚本
c语言·python·pytest·adi
君义_noip1 小时前
洛谷 P4777 【模板】扩展中国剩余定理(EXCRT)
算法·数论·信息学奥赛·csp-s
天赐学c语言1 小时前
12.14 - 搜索旋转排序数组 && 判断两个结构体是否相等
数据结构·c++·算法·leecode
咖啡の猫1 小时前
Python字典的查询操作
数据库·python·c#