47~541连接更新‘

This commit is contained in:
XuDaHaoRen
2021-08-23 19:45:17 +08:00
parent acf1a54f8d
commit 0a8191b5c3
103 changed files with 491 additions and 669 deletions

View File

@@ -1,7 +1,7 @@
# 496.下一个更大元素 I
题目链接:https://leetcode-cn.com/problems/next-greater-element-i/
[力扣题目链接](https://leetcode-cn.com/problems/next-greater-element-i/)
给你两个 没有重复元素 的数组 nums1 和 nums2 其中nums1  nums2 的子集。
@@ -24,7 +24,7 @@ nums1 中数字 x 的下一个更大元素是指 x  nums2 中对应位
解释:
对于 num1 中的数字 2 ,第二个数组中的下一个较大数字是 3 。
对于 num1 中的数字 4 ,第二个数组中没有下一个更大的数字,因此输出-1 。
 
提示:
* 1 <= nums1.length <= nums2.length <= 1000
@@ -34,13 +34,13 @@ nums1 中数字 x 的下一个更大元素是指 x  nums2 中对应位
# 思路
做本题之前,建议先做一下[739. 每日温度](https://mp.weixin.qq.com/s/YeQ7eE0-hZpxJfJJziq25Q)
做本题之前,建议先做一下[739. 每日温度](https://programmercarl.com/0739.每日温度.html)
在[739. 每日温度](https://mp.weixin.qq.com/s/YeQ7eE0-hZpxJfJJziq25Q)中是求每个元素下一个比当前元素大的元素的位置。
在[739. 每日温度](https://programmercarl.com/0739.每日温度.html)中是求每个元素下一个比当前元素大的元素的位置。
本题则是说nums1 是 nums2的子集找nums1中的元素在nums2中下一个比当前元素大的元素。
看上去和[739. 每日温度](https://mp.weixin.qq.com/s/YeQ7eE0-hZpxJfJJziq25Q) 就如出一辙了。
看上去和[739. 每日温度](https://programmercarl.com/0739.每日温度.html) 就如出一辙了。
几乎是一样的,但是这么绕了一下,其实还上升了一点难度。
@@ -60,7 +60,7 @@ nums1 中数字 x 的下一个更大元素是指 x  nums2 中对应位
没有重复元素我们就可以用map来做映射了。根据数值快速找到下标还可以判断nums2[i]是否在nums1中出现过。
C++中当我们要使用集合来解决哈希问题的时候优先使用unordered_set因为它的查询和增删效率是最优的。我在[关于哈希表,你该了解这些!](https://mp.weixin.qq.com/s/RSUANESA_tkhKhYe3ZR8Jg)中也做了详细的解释。
C++中当我们要使用集合来解决哈希问题的时候优先使用unordered_set因为它的查询和增删效率是最优的。我在[关于哈希表,你该了解这些!](https://programmercarl.com/哈希表理论基础.html)中也做了详细的解释。
那么预处理代码如下: