LeetCode "496. Next Greater Element I" !

Play it in your mind.. or it may be hard to reach to this intuitive solution...

class Solution(object):
    def nextGreaterElement(self, findNums, nums):
        hm = {}
        stk = []
        for n in nums:
            while len(stk)>0 and stk[-1] < n:
                hm[stk[-1]] = n
                stk.pop()
            stk.append(n)

        return list(map(lambda x: hm[x] if x in hm else -1, findNums))
时间: 2025-01-01 12:47:19

LeetCode "496. Next Greater Element I" !的相关文章

496. Next Greater Element I 另一个数组中对应的更大元素

[抄题]: You are given two arrays (without duplicates) nums1 and nums2 where nums1's elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums2. The Next Greater Number of a number x in nums

【leetcode】496. Next Greater Element I

要求:给出两个数组(没有重复的)nums1和nums2,其中nums1的元素是nums2的子集. 查找nums2的相应位置中nums1元素的所有下一个更大的数字. nums1中的下一个大数字x的数字是num2中右边的第一个较大的数字. 如果不存在,则输出-1表示该数字. Example 1: Input: nums1 = [4,1,2], nums2 = [1,3,4,2]. Output: [-1,3,-1] 代码很臃肿但是执行效率还是不错的.... 1 public class Soluti

Leetcode 503. Next Greater Element II JAVA语言

Given a circular array (the next element of the last element is the first element of the array), print the Next Greater Number for every element. The Next Greater Number of a number x is the first greater number to its traversing-order next in the ar

496. Next Greater Element I

Question: You are given two arrays (without duplicates) nums1 and nums2 where nums1's elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums2. The Next Greater Number of a number x in 

[栈] leetcode 503 Next Greater Element II

problem:https://leetcode.com/problems/next-greater-element-ii/ 一道比较简单的单调队列题目.不过由于题目要求是循环的,需要两个pass,第二个pass处理循环生效的next greater,同时需要把下标已经超出范围的队首数据及时pop出来. class Solution { public: vector<int> nextGreaterElements(vector<int>& nums) { deque<

LeetCode 496. 下一个更大元素 I(Next Greater Element I) 35

496. 下一个更大元素 I 496. Next Greater Element I 题目描述 给定两个没有重复元素的数组?nums1 和?nums2,其中 nums1?是?nums2?的子集.找到?nums1?中每个元素在?nums2?中的下一个比其大的值. nums1?中数字?x?的下一个更大元素是指?x?在?nums2?中对应位置的右边的第一个比?x?大的元素.如果不存在,对应位置输出 -1. 每日一算法2019/6/7Day 35LeetCode496. Next Greater Ele

LeetCode_496. Next Greater Element I

496. Next Greater Element I Easy You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums2. The Next Greater N

leetcode496 - Next Greater Element I - easy &amp;&amp; leetcode503 - Next Greater Element II - medium

496. Next Greater Element IYou are given two arrays (without duplicates) nums1 and nums2 where nums1's elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums2.The Next Greater Number o

LeetCode 556. 下一个更大元素 III(Next Greater Element III)

556. 下一个更大元素 III 556. Next Greater Element III 题目描述 给定一个 32 位正整数 n,你需要找到最小的 32 位整数,其与 n 中存在的位数完全相同,并且其值大于 n.如果不存在这样的 32 位整数,则返回-1. LeetCode556. Next Greater Element III中等 示例 1: 输入: 12 输出: 21 示例 2: 输入: 21 输出: -1 示例 3: 输入: 12443322 输出: 13222344 Java 实现