当前位置: 首页 > news >正文

2023-12-12LeetCode每日一题(下一个更大元素 IV)

2023-12-12每日一题

一、题目编号

2454. 下一个更大元素 IV

二、题目链接

点击跳转到题目位置

三、题目描述

给你一个下标从 0 开始的非负整数数组 nums 。对于 nums 中每一个整数,你必须找到对应元素的 第二大 整数。

如果 nums[j] 满足以下条件,那么我们称它为 nums[i] 的 第二大 整数:

  • j > i

  • nums[j] > nums[i]

  • 恰好存在 一个 k 满足 i < k < j 且 nums[k] > nums[i] 。
    如果不存在 nums[j] ,那么第二大整数为 -1 。

  • 比方说,数组 [1, 2, 4, 3] 中,1 的第二大整数是 4 ,2 的第二大整数是 3 ,3 和 4 的第二大整数是 -1 。
    请你返回一个整数数组 answer ,其中 answer[i]是 nums[i] 的第二大整数。

示例 1:
在这里插入图片描述

示例 2:
在这里插入图片描述
提示:

  • 1 <= nums.length <= 105
  • 0 <= nums[i] <= 109

四、解题代码

class Solution {
public:vector<int> secondGreaterElement(vector<int>& nums) {vector<int> res(nums.size(), -1);stack<int> st;priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q;for (int i = 0; i < nums.size(); ++i) {while (!q.empty() && q.top().first < nums[i]) {res[q.top().second] = nums[i];q.pop();}while (!st.empty() && nums[st.top()] < nums[i]) {q.push({nums[st.top()], st.top()});st.pop();}st.push(i);}return res;}
};

五、解题思路

(1) 单调栈+优先队列。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SDG大数据平台简介
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • Java——功能开发思路
  • github鉴权失败
  • 数据结构——红黑树 and B-树
  • 【计算机网络】第四章摘要重点
  • 鸿蒙系列--组件介绍之容器组件
  • 卷积神经网络 反向传播
  • 感染了后缀为.[sqlback@memeware.net].2700勒索病毒如何应对?数据能够恢复吗?
  • 记录 Docker 中安装 ROS2
  • 深入理解依赖反转原则(DIP)
  • DevOps持续交付之容器化CICD流水线
  • 用IDEA创建/同步到gitee(码云)远程仓库(保姆级详细)
  • 解除mobaxterm会话14个限制
  • C++每日一练(7):爬山
  • 【5+】跨webview多页面 触发事件(二)
  • Docker: 容器互访的三种方式
  • Docker入门(二) - Dockerfile
  • ES2017异步函数现已正式可用
  • GraphQL学习过程应该是这样的
  • Java深入 - 深入理解Java集合
  • Laravel Telescope:优雅的应用调试工具
  • npx命令介绍
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python 基础起步 (十) 什么叫函数?
  • python_bomb----数据类型总结
  • Python语法速览与机器学习开发环境搭建
  • React中的“虫洞”——Context
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 记一次用 NodeJs 实现模拟登录的思路
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 我的业余项目总结
  • 智能合约Solidity教程-事件和日志(一)
  • 自动记录MySQL慢查询快照脚本
  • ionic入门之数据绑定显示-1
  • ​ArcGIS Pro 如何批量删除字段
  • ​Linux·i2c驱动架构​
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #HarmonyOS:Web组件的使用
  • #pragma once与条件编译
  • $(selector).each()和$.each()的区别
  • $.ajax()参数及用法
  • $.ajax中的eval及dataType
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (3)STL算法之搜索
  • (bean配置类的注解开发)学习Spring的第十三天
  • (NSDate) 时间 (time )比较
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三)docker:Dockerfile构建容器运行jar包
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (一)VirtualBox安装增强功能
  • (一一四)第九章编程练习
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...