首页 > 其他分享 >下一个更大元素

下一个更大元素

时间:2023-02-04 23:45:23浏览次数:43  
标签:const 一个 元素 stack length 更大 nums1 nums2

nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。

给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。

对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 nums2[j] 的 下一个更大元素 。如果不存在下一个更大元素,那么本次查询的答案是 -1 。

返回一个长度为 nums1.length 的数组 ans 作为答案,满足 ans[i] 是如上所述的 下一个更大元素 。

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
const nextGreaterElement = (nums1 = [4,1,2], nums2 = [1,7,6,3,5,4,2]) => {
    const res = []
    const stack = []
    const map = new Map()
    for(let i = nums2.length - 1; i > -1; i--){
        while(stack.length && stack[stack.length - 1] <= nums2[i]){
            stack.pop()
        }
        map.set(nums2[i], stack.length ? stack[stack.length - 1] : -1)
        stack.push(nums2[i])
    }
    for(let i = 0; i < nums1.length; i++){
        res.push(map.get(nums1[i]))
    }
    return res
};

  

标签:const,一个,元素,stack,length,更大,nums1,nums2
From: https://www.cnblogs.com/zhenjianyu/p/17092643.html

相关文章

  • 从一个Git PR看SONiC社区的开发
    开源软件的开发采用众人拾柴火焰高的模式,每一个有兴趣的参与者可以对代码的修改提出PullRequest,经过社区审核通过以后,所建议的修改可以被纳入到社区代码中。这里以一个SO......
  • Python之字典删除元素(6种方式)
    文中代码smart_girl={"name":"yuanwai","age":25,"address":"Beijing"} 第一种方式:pop()方法注意:找不到对应的key,pop方法会抛出异常KeyErrorsmart_gi......
  • 代码随想录算法Day03| 链表理论基础 203.移除链表元素 707.设计链表 206.反转链表
    链表理论基础链表分为单链表,双链表,循坏链表。链表中的节点在内存中不是连续分布的,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。链表的长度可......
  • 第一次成功修复了一个Bug,哈哈!
    学了个把月C#了,第一次实战,今天我成功修复了一个Bug,公司的一个软件,有用户经常遇到播放不了视频内容的情况,后来发现了原来是临时文件AppData下面的node文件被杀毒软件清理......
  • 前端UI组件 | 如何实现一个骨架屏组件
    前言在过去的两个月中,我们的移动端项目重构UI组件,表单组件、Layout布局、弹框提示、导航、Card卡片等基础组件已经完成并应用到日常功能开发中。一期的开发中,我们把基础的常......
  • wireshark 抓包整理———— 从一个小案例开始 [一]
    前言前面已经有抓包系列了,简单写一下wireshark的抓包系列,共36节,18个理论小栗子,36个实战栗子。正文这个例子是<<wireshark分析就这么简单>>的一个例子。这个例子是这样......
  • ChatGPT点燃科技圈!月活破亿仅用2个月,会是下一个颠覆者吗?
       近期,由美国人工智能实验室OpenAI发布的聊天机器人ChatGPT在科技圈里掀起一阵狂热之风。从硅谷科技巨头到一二级资本市场,所有感兴趣的人士都在讨论ChatGPT的影响与......
  • 一个示例
    我们来运行一个程序实例:/*test.c--测试程序*//*\a-警报符\b-退格符\t-制表符\r-使光标移至本行最前面*/intmain(void){//main函数添加参数void是一......
  • 用指针来输出字符串元素的个数--C语言
    现在的状态就是,心里很空虚,感觉干啥都不得意,学东西学不进去,玩也玩不好,但是现实告诉我一定要想办法升华自己intmy_strlen(char*str){char*start=str;char*end=str......
  • Python之字典修改元素(4种方式)
    哈喽兄弟们,今天咱们来学习一下Python字典修改元素的四种方式。本文中使用的字典对象:smart_girl={"name":"yuanwai","age":25} 第一种方式:[key]smart_......