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 Element I

示例 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 和 nums2 中所有元素是唯一的。
  2. nums1 和 nums2 的数组大小都不超过 1000。

Java 实现

import java.util.HashMap;
import java.util.Map;
import java.util.Stack; class Solution {
public int[] nextGreaterElement(int[] nums1, int[] nums2) {
Map<Integer, Integer> map = new HashMap<>();
Stack<Integer> stack = new Stack<>();
for (int num : nums2) {
while (!stack.isEmpty() && num > stack.peek()) {
map.put(stack.pop(), num);
}
stack.push(num);
}
for (int i = 0; i < nums1.length; i++) {
nums1[i] = map.getOrDefault(nums1[i], -1);
}
return nums1;
}
}

相似题目

参考资料

最新文章

  1. 1Z0-053 争议题目解析330
  2. 代码生成工具——Entity Framework Power Tools
  3. ARP 扫描主机学习笔记
  4. 如何写出优雅兼备可读性的javascript代码
  5. WCF添加服务失败一则
  6. vc++6.0各种报错合集(附:VC++6.0调出打印窗口的方法)
  7. Diagramming for WinForms 教程一(读取图元数据)
  8. 10 Ways to Inspire Your Team
  9. Jenkins Master/Slave架构
  10. AFNetworking2.x 使用过程中遇到的问题
  11. CMD/AMD
  12. PHP实现简易的模板引擎
  13. Pros and Cons of T4 in Visual Studio 2008
  14. [转载] KAFKA分布式消息系统
  15. java-redis列表数据操作示例(二)
  16. 数电基础之《OC门》
  17. gdb调试android
  18. Python快速学习03:运算 &amp; 缩进和选择
  19. Visual Assist 10.9.2248 破解版(支持VS2017)
  20. flask中利用from来进行对修改修改时旧密码的验证

热门文章

  1. C语言 define实现的宏函数汇总
  2. MySQL 日期格式化,取年月日等相关操作
  3. 洛谷 P3376 【模板】网络最大流 题解
  4. 微信浏览器中清缓存的方法---- http://debugx5.qq.com/
  5. C#访问https地址实例
  6. 打印出js对象里面的内容
  7. [内网渗透]HASH获取与HASH传递
  8. Maven中使用&lt;version&gt;LATEST&lt;/version&gt;自动依赖最新版本引发的问题
  9. hdu1002 A + B Problem II[大数加法]
  10. 【大数据作业九】安装关系型数据库MySQL 安装大数据处理框架Hadoop