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
相关推荐
别叫我->学废了->lol在线等12 小时前
python单例模式下线程安全优化
python·安全·单例模式
西江6497612 小时前
【个人博客系统—测试报告】
python·功能测试·jmeter·pycharm·postman
Xing_ke30912 小时前
3D点云分割与检测(后续更新)
算法·3d点云
4311媒体网12 小时前
C语言实现简单的二分查找算法
c语言·开发语言·算法
持续学习的程序员+112 小时前
π RL(piRL)算法支持用强化学习方法训练π 0/π 0.5(pi0/pi0.5)
算法
csuzhucong13 小时前
112魔方、113魔方、114魔方
算法
无限进步_13 小时前
C语言实现贪吃蛇游戏详解
c语言·开发语言·数据结构·c++·后端·算法·游戏
CHANG_THE_WORLD13 小时前
C++ vs Python 参数传递方式对比
java·c++·python
Element_南笙13 小时前
吴恩达新课程:Agentic AI(笔记11)
大数据·人工智能·笔记·算法·机器学习
handsomezqh13 小时前
洛谷U611548 助教的比拼
c++·算法