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
相关推荐
数据科学项目实践1 分钟前
建模步骤 3 :数据探索(EDA) — 1、初步了解数据:自定义函数
大数据·人工智能·python·机器学习·matplotlib·数据可视化
月明长歌2 分钟前
【码道初阶】【LeetCode 160】相交链表:让跑者“起跑线对齐”的智慧
java·算法·leetcode·链表
beordie.cloud6 分钟前
LeetCode 49. 字母异位词分组 | 从排序到计数的哈希表优化之路
算法·leetcode·散列表
我命由我123457 分钟前
Python 开发 - OpenAI 兼容阿里云百炼平台 API
开发语言·人工智能·后端·python·阿里云·ai·语言模型
南_山无梅落11 分钟前
7.2 Python3序列 | 字符串操作:常用方法与格式化技巧
python
共享家952712 分钟前
每日一题(一)
算法
fufu031116 分钟前
Linux环境下的C语言编程(四十一)
linux·c语言·算法
littlezls19 分钟前
在VSCode中运行Python脚本文件时如何传参
vscode·python
bing.shao22 分钟前
Golang 之闭包
java·算法·golang
顾子羡_Gu22 分钟前
算法进阶指南:搜索与数论基础
数据结构·算法