Next Greater Element I
EasyArrayHash TableStackMonotonic Stack
Solution
export function nextGreaterElement(nums1: number[], nums2: number[]): number[] {
const nextGreaterNum = new Map<number, number>();
const stack: number[] = [];
for (const num of nums2) {
while (0 < stack.length && stack[stack.length - 1] < num) {
nextGreaterNum.set(stack[stack.length - 1], num);
stack.pop();
}
stack.push(num);
}
return nums1.map((num) => nextGreaterNum.get(num) ?? -1);
}