前言
给自己打气,加油
题目
解题思路
源码
class Solution:
def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]:
stack=[]
hashmap={}
ans=[]
# 循环遍历nums2,当栈顶大于当前数字就pop,并加入字典,否则压栈
for i in range(len(nums2)):
while stack and nums2[i]>stack[-1]:
hashmap[stack.pop()]=nums2[i]
stack.append(nums2[i])
# 最后栈还有元素,说明右侧没有比他大的,则字典值为-1
while stack:
hashmap[stack.pop()]=-1
# 遍历nums1,从哈希表中找值
for i in range(len(nums1)):
ans.append(hashmap.get(nums1[i]))
return ans