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
相关推荐
草莓啵啵~36 分钟前
pywinauto-打开程序+连接已打开的程序
开发语言·python
Raink老师8 小时前
【AI面试临阵磨枪-70】Agent 系统如何做分布式调度、跨服务协作、故障恢复?
人工智能·面试·职场和发展
lishi_19918 小时前
一键部署MoviePilotV2实现NAS全自动追剧
python·媒体·moviepilot
Raink老师8 小时前
【AI面试临阵磨枪-71】如何用 AI 优化推荐系统、内容审核、广告创意、搜索体验?
人工智能·面试·职场和发展
EllinY9 小时前
CF2217E Definitely Larger 题解
c++·笔记·算法·构造
Raink老师9 小时前
【AI面试临阵磨枪-72】电商全场景 AI Agent 设计(商品咨询 / 订单 / 物流 / 售后 / 退款)
人工智能·面试·职场和发展
测试开发-学习笔记9 小时前
代码详细解释
python
u0119608239 小时前
ray-k8s部署
python
PAK向日葵12 小时前
我用 C++ 写了一个轻量级 Python 虚拟机,刚刚开源
c++·python·开源