LeetCode 1019. 链表中的下一个更大节点(单调栈)

1. 题目

给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, … 。

每个节点都可能有下一个更大值next larger value):对于 node_i,如果其 next_larger(node_i)node_j.val,那么就有 j > i 且 node_j.val > node_i.val,而 j 是可能的选项中最小的那个。

如果不存在这样的 j,那么下一个更大值为 0 。

返回整数答案数组 answer,其中 answer[i] = next_larger(node_{i+1})

注意:在下面的示例中,诸如 [2,1,5] 这样的输入(不是输出)是链表的序列化表示,其头节点的值为 2,第二个节点值为 1,第三个节点值为 5 。

示例 1:
输入:[2,1,5]
输出:[5,5,0]示例 2:
输入:[2,7,4,3,5]
输出:[7,0,5,5,0]示例 3:
输入:[1,7,5,1,9,2,5,1]
输出:[7,9,9,9,0,5,0,0]提示:
对于链表中的每个节点,1 <= node.val <= 10^9
给定列表的长度在 [0, 10000] 范围内

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/next-greater-node-in-linked-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 单调递减栈

保持栈内元素单调递减,一旦不满足就弹栈,直到满足单调递减

class Solution {
public:vector<int> nextLargerNodes(ListNode* head) {vector<int> ans;stack<int> stk;//存储数值stack<int> idx;//存储下标int n = 0;for( ; head; head=head->next){while(!stk.empty() && stk.top() < head->val)//不单调递减{stk.pop();ans[idx.top()] = head->val;//当前位置找到了比它大的最近的数idx.pop();}stk.push(head->val);//数值idx.push(n++);//下标ans.push_back(0);//比当前数大的还未出现,先补0}return ans;}
};

在这里插入图片描述

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

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

相关文章

Spring Cloud Hystrix的请求合并

通常微服务架构中的依赖通过远程调用实现&#xff0c;而远程调用中最常见的问题就是通信消耗与连接数占用。在高并发的情况之下&#xff0c;因通信次数的增加&#xff0c;总的通信时间消耗将会变的不那么理想。同时&#xff0c;因为对依赖服务的线程池资源有限&#xff0c;将出…

LeetCode 306. 累加数(暴力回溯)

1. 题目 累加数是一个字符串&#xff0c;组成它的数字可以形成累加序列。 一个有效的累加序列必须至少包含 3 个数。除了最开始的两个数以外&#xff0c;字符串中的其他数都等于它之前两个数相加的和。 给定一个只包含数字 ‘0’-‘9’ 的字符串&#xff0c;编写一个算法来判…

关于深度学习,我们4年时间写了一本1400页的全栈手册

不知不觉写文章已经四年多了。最开始是一个人&#xff0c;后来恰了恰饭&#xff08;感恩理解&#xff09;&#xff0c;就招揽了很多比小夕厉害的小伙伴一起写。不知不觉已经积累了300多篇了。。四年以来&#xff0c;我跟小伙伴们原创的300篇深度学习领域&#xff08;含NLP、CV等…

会议交流 | 第十六届全国知识图谱与语义计算大会(工业界论坛)——8月24日-27日...

点击阅读原文&#xff0c;进入 CCKS 官方网站。OpenKGOpenKG&#xff08;中文开放知识图谱&#xff09;旨在推动以中文为核心的知识图谱数据的开放、互联及众包&#xff0c;并促进知识图谱算法、工具及平台的开源开放。

消费者驱动的微服务契约测试套件Spring Cloud Contract

在微服务架构下&#xff0c;你的服务可能由不同的团队提供和维护&#xff0c;在这种情况下&#xff0c;接口的开发和维护可能会带来一些问题&#xff0c;比如服务端调整架构或接口调整而对消费者不透明&#xff0c;导致接口调用失败。 为解决这些问题&#xff0c;Ian Robinson…

LeetCode 842. 将数组拆分成斐波那契序列(暴力查找)

1. 题目 给定一个数字字符串 S&#xff0c;比如 S “123456579”&#xff0c;我们可以将它分成斐波那契式的序列 [123, 456, 579]。 形式上&#xff0c;斐波那契式序列是一个非负整数列表 F&#xff0c;且满足&#xff1a; 0 < F[i] < 2^31 - 1&#xff0c;&#xff…

做CV和做NLP,是否都有光明的未来?

本文授权转载自公众号“算法圈的小破事”&#xff0c;点击以上卡片进行关注大家好&#xff0c;我是在互联网危险边缘疯狂试探的皮皮虾。最近有点忙&#xff0c;拖更了&#xff0c;不知道有没有读者惦记皮皮虾推文呢&#xff08;目测没有TT&#xff09;。首先祭出新华字典的老图…

论文浅尝 | 知识表示、多模态融合、搜索匹配三大方向探索——360人工智能研究院知识图谱算法团队...

转载公众号 | 老刘说NLP当前以促进技术发展、提升模型指标&#xff0c;探究模型天花板的竞赛越来越多&#xff0c;也逐步成为各大研究机构、互联网大厂竞相角逐的主战场。自2022年以来&#xff0c;在组员的共同努力下&#xff0c;团队(360人工智能研究院知识图谱算法团队)&…

Spring Cloud Zuul重试机制探秘

简介 本文章对应spring cloud的版本为(Dalston.SR4)&#xff0c;具体内容如下&#xff1a; 开启Zuul功能通过源码了解Zuul的一次转发怎么开启zuul的重试机制Edgware.RC1版本的优化 开启Zuul的功能 首先如何使用spring cloud zuul完成路由转发的功能&#xff0c;这个问题很简…

论文浅尝 | PASSLEAF: 一个用于不确定知识图谱嵌入的基于样本池的半监督学习框架...

笔记整理&#xff1a;杨露露&#xff0c;天津大学硕士链接&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/16522/16329动机在不确定知识图谱的嵌入中&#xff0c;实体之间的每个关系都有一个置信度。鉴于现有的嵌入方法可能会丢弃不确定性信息&#xff0c;或只…

LeetCode 60. 第k个排列(回溯 康托展开)

文章目录1. 题目2. 解题2.1 回溯2.2 数学-康托展开1. 题目 给出集合 [1,2,3,…,n]&#xff0c;其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况&#xff0c;并一一标记&#xff0c;当 n 3 时, 所有排列如下&#xff1a; “123” “132” “213” “231” “312” “…

我在谷歌实习时发现了一个模型 bug,于是有了这篇 ACL

文 | AlbertYang编 | 小轶表格的自动理解与检索已经成为 NLP 以及多模态任务中重要的一环。如果我们给模型一个冬奥会的奖牌榜并且问&#xff0c;“哪个国家的金牌最多&#xff1f;”&#xff0c;现有的模型已经可以毫不费力地输出正确的答案&#xff08;通常都是表格首行的国家…

Spring Cloud Zuul的fallback优化

如何在Zuul中使用fallback功能 我们在项目中使用Spring cloud zuul的时候&#xff0c;有一种这样的需求&#xff0c;就是当我们的zuul进行路由分发时&#xff0c;如果后端服务没有启动&#xff0c;或者调用超时&#xff0c;这时候我们希望Zuul提供一种降级功能&#xff0c;而不…

技术动态 | 「新一代知识图谱关键技术」最新2022进展综述

转载公众号 | 专知链接&#xff1a;https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20210829近年来&#xff0c;国内外在新一代知识图谱的关键技术和理论方面取得了一定进展&#xff0c;以知识图谱为载体的典型应用也逐渐走进各个行业领域,包括智能问答、推荐系统、个人助手…

LeetCode 397. 整数替换(递归 贪心)

文章目录1. 题目2. 解题2.1 递归2.2 记忆化递归2.3 贪心1. 题目 给定一个正整数 n&#xff0c;你可以做如下操作&#xff1a; 如果 n 是偶数&#xff0c;则用 n / 2替换 n。如果 n 是奇数&#xff0c;则可以用 n 1或n - 1替换 n。 n 变为 1 所需的最小替换次数是多少&#…

搭配对比学习,万能的 prompt 还能做可控文本生成

文 | ZenMoore编 | 小轶可控文本生成&#xff0c;旨在让语言模型的输出带有我们想要的某种属性。比如情感、主题、三元组等。一般我们习惯采用 CTRL[1] 或者 PPLM[2] 等方式。但是&#xff0c;CTRL 是对整个语言模型进行 Finetuning, PPLM 因为需要在生成的过程中迭代更新 hidd…

Eureka Client注册到Eureka Server的秘密

前言 我们知道Eureka分为两部分&#xff0c;Eureka Server和Eureka Client。Eureka Server充当注册中心的角色&#xff0c;Eureka Client相对于Eureka Server来说是客户端&#xff0c;需要将自身信息注册到注册中心。本文主要介绍的就是在Eureka Client注册到Eureka Server时R…

论文浅尝-综述 | 基于强化学习的知识图谱综述

转载公众号 | 人工智能前沿讲习论文来源&#xff1a;https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20211264摘要&#xff1a;知识图谱是一种用图结构建模事物及事物间联系的数据表示形式&#xff0c;是实现认知智能的重要基础&#xff0c;得到了学术界和工业界的广泛关注.…

AI当下要破局,不能没有知识图谱!

AI或AI赋能已是传统行业智能化升级和转型的基本模式。近年来越来越多的传统行业的核心战略转移到人工智能领域&#xff0c;但随着大数据红利的消失殆尽&#xff0c;以深度学习为代表的感知智能水平日益接近其“天花板”&#xff08;来自肖仰华老师分享&#xff09;。数据驱动的…

LeetCode 495. 提莫攻击

1. 题目 在《英雄联盟》的世界中&#xff0c;有一个叫 “提莫” 的英雄&#xff0c;他的攻击可以让敌方英雄艾希&#xff08;编者注&#xff1a;寒冰射手&#xff09;进入中毒状态。现在&#xff0c;给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间&#xff0c;你需要输…