首页 > 其他分享 >1019. 链表中的下一个更大节点

1019. 链表中的下一个更大节点

时间:2023-04-10 20:13:17浏览次数:58  
标签:head 复杂度 value stk 链表 1019 ans 节点

题目链接:1019. 链表中的下一个更大节点

方法:单调栈

解题思路

该类问题详解:单调栈解决 Next Greater Number 一类问题

代码

class Solution {
public:
    vector<int> nextLargerNodes(ListNode* head) {
        vector<int> value;
        while (head != nullptr) {
            value.push_back(head->val);
            head = head->next;
        }
        int n = value.size();
        vector<int> ans(n);
        stack<int> stk;
        stk.push(value.back());
        for (int i = n - 1; i >= 0; i -- ) {
            while (!stk.empty() && value[i] >= stk.top()) stk.pop();
            ans[i] = stk.empty() ? 0 : stk.top();
            stk.push(value[i]);
        }
        return ans;
    }
};

复杂度分析

时间复杂度:O(n);
空间复杂度:O(n)。

标签:head,复杂度,value,stk,链表,1019,ans,节点
From: https://www.cnblogs.com/lxycoding/p/17304134.html

相关文章

  • 链表
    1.顺序表的缺陷1.在顺序表头部中间插入数据,需要挪动数据效率低下2.容量不够时需要扩容,所以可能存在空间浪费链表可以很好的解决这些问题,下面讲解链表 2.链表概念及基本结构链表是一种逻辑上连续,物理内存空间非连续存储的线性结构typedefintSLDataType;typedefst......
  • 动力节点王鹤SpringBoot3笔记——第六章 远程访问@HttpExchange[SpringBoot 3]
    第六章 远程访问@HttpExchange[SpringBoot3]远程访问是开发的常用技术,一个应用能够访问其他应用的功能。SpringBoot提供了多种远程访问的技术。基于HTTP协议的远程访问是支付最广泛的。SpringBoot3提供了新的HTTP的访问能力,通过接口简化HTTP远程访问,类似Feign功能。Spring......
  • 5、链表
    1、链表我们可以用虚拟头结点dummyHead来简化添加、删除的操作publicclassLinkedList<E>{privateclassNode{publicEe;publicNodenext;publicNode(Ee,Nodenext){this.e=e;this.next=next;......
  • 6、递归链表
    链表具有天然的递归结构,下面我们将用递归实现链表的所有操作publicclassLinkedListR<E>{privateclassNode{publicEe;publicNodenext;publicNode(Ee,Nodenext){this.e=e;this.next=next;......
  • 线性表之静态链表实现(数组cur实现)
    main.cpp#include"StaticList.h"intmain(){StaticListSL;InitSList(SL);for(inti=0;i<5;++i){Insert(SL,'A'+i);}ShowSList(SL);DeleteSList(SL);ShowSList(SL);return0;}Stati......
  • 线性表之单循环链表实现
    main.cpp#include"SCList.h"intmain(){Listmylist;InitList(mylist);intselect=1;ElemTypeItem;Node*p=NULL;while(select){printf("************************************\n");printf("......
  • 搜索二叉树转换成双向链表
    搜索二叉树:每个节点的左子树的值都小于当前节点,右子树的节点值都大于当前节点。其中序遍历就是一个有序的序列转化成双向链表,需要记录一下头节点,和前一个节点,将前一个节点和当前节点相连preheadconvert(pRoot){if(pRoot==null)returnnull;convert(pRoot.left);......
  • Blender动画节点插件用户指南-接口
    推荐:将 NSDT场景编辑器 加入你的3D开发工具链。接口大部分界面位于节点编辑器中,而其余部分该界面存在于其他区域,例如3D视口。动画节点有自己的节点编辑器,您可以通过以下方式选择单击“涂料表”图标在工具栏中。一个新的可以通过单击“新建”按钮来添加节点树。节点......
  • FastCFS:再谈 选主 与 过半写:续:2节点+vote节点 群集
    偶数的 2节点+vote节点群集健壮程度如何呢?先说结论:可以保证足够健壮。 虽然vote节点仅参与选主,不参与数据复制过程的过半写,but,对于FastCFS群集来说,先要完成“选主”才能正常进行数据复制层面的”过半写“!如果没有“选主”,根本就不会有后续“过半写”的问题。哈哈。 所......
  • FastCFS:再谈 选主 与 过半写:续:2节点群集 默认配置下,十分不可靠,几乎100%会发生脑裂问题
     如题:仅能由于测试。千万不要用于生产环境!“选主” 通常能够完成,无法是否有vote参与;问题在于:“过半写”的any或auto模式(即隐含的smart模式)在成功“选主“后,会运行在单节点server的群集模式下,此时,根本就无法且没有完成正常意义上的数据层的主从同步,即必然发生脑裂!数据就不一......