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
相关推荐
老纪13 小时前
如何解决OUI图形界面无法调用_xhost与DISPLAY变量设置
jvm·数据库·python
三品吉他手会点灯13 小时前
C语言学习笔记 - 33.数据类型 - printf函数的详细用法
c语言·开发语言·笔记·学习·算法
知行合一。。。13 小时前
Python--05--面向对象(继承,多态)
android·开发语言·python
m0_6174939413 小时前
PyTorch CUDA设备不可用错误解决方案
人工智能·pytorch·python
小郑加油13 小时前
python学习Day15:综合训练——数据清洗与缺失值补充
开发语言·python·学习
完成大叔13 小时前
Agent入门:用本地模型从零搭建
开发语言·python·langchain
qxwlcsdn13 小时前
CSS如何实现元素镜像翻转_使用transformscalex负值
jvm·数据库·python
NashSKY13 小时前
PnP 问题:数学描述与 DLT 算法推导
算法·矩阵分解·多视图几何·射影几何
2301_8039346113 小时前
mysql如何处理大量重复值索引_mysql索引存储特征分析
jvm·数据库·python