【算法】【单调栈】【leetcode】1019. 链表中的下一个更大节点

刷这题之前先看:

【算法】【OD算法】【单调栈】找朋友-CSDN博客

【算法】【单调栈】【leetcode】1475. 商品折扣后的最终价格-CSDN博客 

【算法】【单调栈】【leetcode】901. 股票价格跨度-CSDN博客 

【算法】【单调栈】每日温度-CSDN博客 

题目地址:. - 力扣(LeetCode)

题目描述:

给定一个长度为 n 的链表 head

对于列表中的每个节点,查找下一个 更大节点 的值。也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值 严格大于 它的值。

返回一个整数数组 answer ,其中 answer[i] 是第 i 个节点( 从1开始 )的下一个更大的节点的值。如果第 i 个节点没有下一个更大的节点,设置 answer[i] = 0 。

示例 1:

输入:head = [2,1,5]
输出:[5,5,0]

示例 2:

输入:head = [2,7,4,3,5]
输出:[7,0,5,5,0]

提示:

  • 链表中节点数为 n
  • 1 <= n <= 104
  • 1 <= Node.val <= 109

代码实现:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public int[] nextLargerNodes(ListNode head) {//栈中存放数组下标和值 0->值 1->坐标Stack<Integer[]> st = new Stack();int [] temp = new int [10*10*10*10];Integer len=0;while(null != head){while(!st.isEmpty()&&st.peek()[0]<head.val){temp[st.pop()[1]]=head.val;}st.push(new Integer[]{head.val,len++});head=head.next;}int [] ans = new int[len];for(int i=0; i<len;i++){ans[i]=temp[i];}return ans;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式硬件中PCB走线与过孔的电流承载能力分析

简介 使用FR4敷铜板PCBA上各个器件之间的电气连接是通过其各层敷着的铜箔走线和过孔来实现的。 由于不同产品、不同模块电流大小不同,为实现各个功能,设计人员需要知道所设计的走线和过孔能否承载相应的电流,以实现产品的功能,防止过流时产品烧毁。 文中介绍设计和测试FR4敷…

iOS分享弹窗

klkxxy/分享菜单弹窗

抖音视频0粉营销推广墙纸,当日收益,第二天提现,日入300

项目简介&#xff1a; 这个项目非常易于执行&#xff0c;主要涉及在抖音平台上分享爱国主题的壁纸&#xff0c;并通过推广相关的小程序来实现盈利。 下 载 地 址 &#xff1a; laoa1.cn/1849.html 项目操作简便&#xff0c;一般只需花费1个小时即可完成&#xff0c;一旦掌…

【每日刷题】Day31

1. 2074. 反转偶数长度组的节点 - 力扣&#xff08;LeetCode&#xff09; //思路&#xff1a;双指针遍历。将链表存入数组中&#xff0c;通过双指针下标遍历定位需要反转的组。 typedef struct ListNode LN; void Reverse(int* arr,int left,int right)//反转函数 { while(left…

408数据结构-二叉树的概念、性质与存储结构 自学知识点整理

前置知识&#xff1a;树的基本概念与性质 二叉树的定义 二叉树是一种特殊的树形结构&#xff0c;其特点是每个结点至多只有两棵子树&#xff08;即二叉树中不存在度大于 2 2 2的结点&#xff09;&#xff0c;并且二叉树是有序树&#xff0c;左右子树不能互换。 与树类似&#…

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(三)KV缓存

探索和构建 LLaMA 3 架构&#xff1a;深入探讨组件、编码和推理技术&#xff08;三&#xff09; KV缓存 在推理的每一步中&#xff0c;只对模型输出的最后一个标记感兴趣&#xff0c;因为已经有了之前的标记。然而&#xff0c;模型需要访问所有先前的标记来决定输出哪个标记&…

07 - 步骤 javaScript代码

简介 JavaScript 代码是通过 JavaScript 脚本步骤来执行 JavaScript 脚本的一种方式。这允许用户在 Kettle 的数据流程中使用 JavaScript 编写自定义的脚本逻辑&#xff0c;用于数据处理、转换、计算等操作。 使用 场景 我需要在数据流加一个字段 createTime 当前时间&…

java学习笔记12

21. System类和Runtime类 21.1 System类 System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的,直接使用System类调用即可。System类的常用方法如下标所示: 方法名称功能描述static void exit(int status)终止jvm, status!=0表示异常终止jvmstatic vo…

《有限元分析及应用》《有限元分析基础教程》-曾攀-清华大学|pdf电子书+有限元分析及应用视频教程(全85讲) 曾攀、雷丽萍 ​​​+课件PPT

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

关于开源软件的影响力的探讨

开源软件的影响力 开源软件在软件开发领域中扮演着至关重要的角色&#xff0c;其影响力主要体现在以下几个方面&#xff1a; 开放源代码促进了全球开发者之间的协作和交流&#xff1a; 开源软件的源代码是公开可见的&#xff0c;这意味着任何人都可以查看、修改和分享代码。这…

找不到msvcr110.dll的多种解决方法,轻松解决dll问题

在日常使用计算机的时候&#xff0c;突然提示&#xff1a;“由于找不到msvcr110.dll&#xff0c;无法继续执行代码”。这个错误通常发生在运行某些程序时&#xff0c;系统无法找到所需的动态链接库文件。这个问题可能会给用户带来困扰&#xff0c;但是不用担心&#xff0c;下面…

Linux下运行jar包的方式

方式一&#xff1a;java -jar xx.jar 这样运行 java 程序遇到的问题就是&#xff0c;你不能在这个窗口进行其他操作&#xff0c;使用 CtrlC 就可以终止程序的执行&#xff0c;关闭 shell 窗口也会终止程序的执行。 方式二&#xff1a; java -jar XXX.jar & 关闭 xshell …

Codeforces Round 943 (Div. 3)

A O ( x ) O(x) O(x) 枚举即可&#xff0c;我也是这么做的&#xff0c;但是可以利用以下的性质来 O ( 1 ) O(1) O(1) 解决问题。 首先&#xff0c;gcd(a, b) gcd(a-b,b), 其中 a ≥ b a\geq b a≥b 其次&#xff0c;gcd(x,x-1)1, 其中 x ≥ 1 x\geq 1 x≥1 利用这两个性…

Golang 设计模式(行为型)

文章目录 策略模式迭代器模式访问者模式观察者模式命令模式模板方法模式责任链模式状态模式 策略模式 策略模式是一种行为型设计模式&#xff0c;它定义了一系列算法&#xff0c;并将每个算法封装成独立的对象&#xff0c;使得它们可以互相替换。在 Go 语言中&#xff0c;策略…

QT:输入类控件的使用

LineEdit 录入个人信息 #include "widget.h" #include "ui_widget.h" #include <QDebug> #include <QString>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);// 初始化输入框ui->lineEdit…

Debian 德比安 Nginx + PHP + MySql + beanstalkd + Redis + Node.js

网卡模式选择桥接 mirrors.163.com 阿里镜像源 https://mirrors.aliyun.com/debian/ DeBian 安装软件选择时勾选上 SSH server apt update apt install sudo #安装 sudo usermod -aG sudo username #添加普通账号到 sudo 让 root 可以 SSH 配置文件 /etc/ssh/sshd_config 找…

stm32f103zet6_串口实现-DHT11-tim1(定时)

1思路 1打开时钟 1.1使用定时器实现us级的计时 1.2在打开串口 1,3在DHT11驱动中修改引脚 stm32cudeMX 配置 1打开时钟 2打开串口 3打开tim1(定时器) 4生成代码 代码设置 1导入DHT11库(tim.h是定时器的文件系统自动生成的) DHT11.c #include "dht11.h" #inc…

真香!剪映专业版VIP,解锁限制功能!

01 软件介绍 剪映专业版采用更直观更全能易用的创作面板&#xff0c;让专业剪辑变得更简单高效&#xff0c;为更多人提供畅爽的专业剪辑体验&#xff0c;让更多人享受视频创作的乐趣! 剪映专业版引入强大黑罐头素材库&#xff0c;支持搜索海量音频、表情包、贴纸、花字、特效…

TCP协议在物联网中的实战

一、TCP协议介绍 网上对TCP协议介绍众多&#xff0c;本人按照自己的理解简单介绍一下。 TCP&#xff08;Transmission Control Protocol&#xff0c; 传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输控制层通信协议。 1.1 协议机制 1.1.1 三次握手 &…

使用LwIP实现TCP Client通信(基于STM32F407)

目录 概述 1 功能介绍 1.1 代码框架 2.2 搭建系统 2 TCP Client功能实现 2.1 代码实现 2.2 具体代码 3 功能测试 3.1 测试功能描述 3.2 运行代码 测试代码下载地址&#xff1a; stm32-f407-dm9161-LwIP-tcp-client资源-CSDN文库 概述 本文主要介绍使用STM32F407和…