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
相关推荐
_日拱一卒9 分钟前
LeetCode:240搜索二维矩阵Ⅱ
数据结构·线性代数·leetcode·矩阵
WolfGang00732110 分钟前
代码随想录算法训练营 Day33 | 动态规划 part06
算法·leetcode·动态规划
aini_lovee10 分钟前
半定规划(SDP)求解的 MATLAB 实现
算法
solicitous14 分钟前
python数据抓取
python
米粒121 分钟前
力扣算法刷题 Day 41(买卖股票)
算法·leetcode·职场和发展
幻风_huanfeng23 分钟前
人工智能之数学基础:内点法和外点法的区别和缺点
人工智能·算法·机器学习·内点法·外点法
HaiXCoder30 分钟前
Kotlin vs Python 知识点对照表
python
MIngYaaa52032 分钟前
The 6th Liaoning Provincial Collegiate Programming Contest - External 复盘
算法
I疯子33 分钟前
2026-04-13 打卡第 6 天
开发语言·python
HaiXCoder33 分钟前
python从入门到精通-第6章: 元编程 — Python的"超能力"
python