496. 下一个更大元素 I_CodingPark编程公园
发布日期:2021-06-29 15:51:26 浏览次数:2 分类:技术文章

本文共 1353 字,大约阅读时间需要 4 分钟。

下一个更大元素 I

问题

给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。

请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。

nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。

示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释:    对于 num1 中的数字 4 ,你无法在第二个数组中找到下一个更大的数字,因此输出 -1 。    对于 num1 中的数字 1 ,第二个数组中数字1右边的下一个较大数字是 3 。    对于 num1 中的数字 2 ,第二个数组中没有下一个更大的数字,因此输出 -1 。    示例 2:输入: nums1 = [2,4], nums2 = [1,2,3,4].输出: [3,-1]解释:    对于 num1 中的数字 2 ,第二个数组中的下一个较大数字是 3 。    对于 num1 中的数字 4 ,第二个数组中没有下一个更大的数字,因此输出 -1 。

提示:

1 <= nums1.length <= nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 104
nums1和nums2中所有整数 互不相同
nums1 中的所有整数同样出现在 nums2 中

链接:https://leetcode-cn.com/problems/next-greater-element-i

解答

Mine

class Solution:    def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]:        res = [-1]*len(nums1)        stack = []        for i in range(len(nums2)):            while stack and stack[-1]

在这里插入图片描述

Mine更新

class Solution:    def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]:        stack = []        ha = {
} ans = [] for i in range(len(nums2)): while stack and nums2[stack[-1]] < nums2[i]: ha[nums2[stack[-1]]] = nums2[i] stack.pop() stack.append(i) for i in nums1: ans.append(ha.get(i,-1)) return ans

在这里插入图片描述

在这里插入图片描述

转载地址:https://codingpark.blog.csdn.net/article/details/117515083 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:176. 第二高的薪水_CodingPark编程公园
下一篇:739. 每日温度_CodingPark编程公园

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月25日 06时44分24秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

有个码龄5年的程序员跟我说:“他连wifi从来不用密码” 2019-04-29
领导让我整理上个季度的销售额,幸好我会Python数据分析,你猜我几点下班 2019-04-29
【Python爬虫实战】为何如此痴迷Python?还不是因为爱看小姐姐图 2019-04-29
零基础自学Python,你也可以实现经济独立! 2019-04-29
ElasticSearch与Mysql对比(ElasticSearch常用方法大全,持续更新) 2019-04-29
数字化转型的主干道上,华为云以“三大关键”成企业智能化推手 2019-04-29
数字化为何不走“捷”“径”? 2019-04-29
和总裁、专家交朋友,华为云助推政企智能化升级又做到前面去了 2019-04-29
BCOP章鱼船长,6月22日晚上8点上线薄饼 2019-04-29
为战疫助力,半导体功不可没 2019-04-29
了解这些操作,Python中99%的文件操作都将变得游刃有余! 2019-04-29
知道如何操作还不够!深入了解4大热门机器学习算法 2019-04-29
只有经历过,才能深刻理解的9个编程道理 2019-04-29
发现超能力:这些数据科学技能助你更高效专业 2019-04-29
AI当道,人工智能将如何改变金融业? 2019-04-29
消除性别成见,技术领域需要更多“乘风破浪的姐姐” 2019-04-29
7行代码击败整个金融业,这对20多岁的爱尔兰兄弟是如何做到的? 2019-04-29
2020十大编程博客:私藏的宝藏编程语言博客大放送! 2019-04-29
编程中的角色选择:哪类工作角色最适合你? 2019-04-29
10种算法一文打尽!基本图表算法的视觉化阐释 2019-04-29