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
相关推荐
zheshiyangyang几秒前
前端面试基础知识整理【Day-8】
前端·面试·职场和发展
再难也得平2 分钟前
[LeetCode刷题]128.最长连续序列(从零开始的java题解)
java·算法·leetcode
忘忧记4 分钟前
python QT sqlsite版本 图书管理系统
开发语言·python·qt
长安牧笛7 分钟前
车载模型白天晚上自动切换,自动切昼夜模型,颠覆统一模型,输出稳定识别。
python·编程语言
Katecat996638 分钟前
【项目实践】基于YOLO11的币面缺陷检测与类型识别_FeaturePyramidSharedConv
python
ljxp123456810 分钟前
二叉树最大深度算法解析
python
xiaoye-duck11 分钟前
《算法题讲解指南:优选算法-双指针》--05有效三角形的个数,06查找总价值为目标值的两个商品
c++·算法
ArturiaZ13 分钟前
【day31】
开发语言·c++·算法
xiaoye-duck18 分钟前
《算法题讲解指南:优选算法-双指针》--07三数之和,08四数之和
c++·算法
nix.gnehc19 分钟前
在K8s集群中部署Traefik并验证Python HTTP服务
python·http·kubernetes