博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
496. Next Greater Element I
阅读量:4312 次
发布时间:2019-06-06

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

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 nums1 is the first greater number to its right in nums2. If it does not exist, output -1 for this number.

Example 1:

Input: nums1 = [4,1,2], nums2 = [1,3,4,2].Output: [-1,3,-1]Explanation:    For number 4 in the first array, you cannot find the next greater number for it in the second array, so output -1.    For number 1 in the first array, the next greater number for it in the second array is 3.    For number 2 in the first array, there is no next greater number for it in the second array, so output -1.

 

Example 2:

Input: nums1 = [2,4], nums2 = [1,2,3,4].Output: [3,-1]Explanation:    For number 2 in the first array, the next greater number for it in the second array is 3.    For number 4 in the first array, there is no next greater number for it in the second array, so output -1.

 

Note:

  1. All elements in nums1 and nums2 are unique.
  2. The length of both nums1 and nums2 would not exceed 1000.

在nums2对应的位置查找nums1的所有元素的下一个更大的数字。

 

C++(9ms):

1 class Solution { 2 public: 3     vector
nextGreaterElement(vector
& findNums, vector
& nums) { 4 stack
s ; 5 unordered_map
m ; 6 vector
res ; 7 for(int n : nums){ 8 while(!s.empty() && n > s.top()){ 9 m[s.top()] = n ;10 s.pop() ;11 }12 s.push(n) ;13 }14 for(int i : findNums){15 if (m.count(i))16 res.push_back(m[i]) ;17 else18 res.push_back(-1) ;19 }20 return res ;21 }22 };

 

转载于:https://www.cnblogs.com/mengchunchen/p/8093642.html

你可能感兴趣的文章
性能瓶颈
查看>>
cmd 导入数据库
查看>>
Makefile书写注意事项--个人择记(一)
查看>>
文件转码重写到其他文件
查看>>
场景3 Data Management
查看>>
Dubbo入门---搭建一个最简单的Demo框架(转)
查看>>
树结构练习——排序二叉树的中序遍历
查看>>
AC自动机模板
查看>>
python 基本语法
查看>>
Oracle JDBC hang on
查看>>
inotify+rsync实现实时热备
查看>>
C#杂问
查看>>
Cocoapods的使用教程
查看>>
Swift - 点击箭头旋转
查看>>
SpringBoot学习(四)
查看>>
深入理解javascript作用域系列第四篇
查看>>
git配置
查看>>
bing智能提示搜索框实现
查看>>
12月月计划与周计划
查看>>
分享Java开发的利器-Lombok
查看>>