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
相关推荐
2401_8676239812 小时前
如何管理应用锁_DBMS_LOCK申请自定义锁控制并发逻辑
jvm·数据库·python
Godspeed Zhao12 小时前
从零开始学AI14——最大似然估计与对数损失函数
算法·逻辑回归·最大似然
BU摆烂会噶12 小时前
【LangGraph】短期记忆与中断行为
人工智能·python·langchain·人机交互
woxihuan12345612 小时前
SQL数据分析如何剔除极端异常值_配合窗口函数检测偏离度
jvm·数据库·python
流年如夢12 小时前
排序算法详解
数据结构·算法·排序算法
2303_8212873812 小时前
Go 中通过指针实现变量名的“间接引用”与原地修改
jvm·数据库·python
威联通安全存储12 小时前
制造业数据防勒索:QNAP 快照与 WORM 实践
网络·python
会编程的土豆12 小时前
Go 语言中的 `new` 关键字(创建指针)
java·算法·golang
RSTJ_162513 小时前
PYTHON+AI LLM DAY FOURTY-EIGHT
开发语言·人工智能·python·深度学习