Skip to content

Commit 5104d3a

Browse files
committed
Create: 496-Next-Greater-Element-I.ts
1 parent aa1fbd6 commit 5104d3a

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
function nextGreaterElement(nums1: number[], nums2: number[]): number[] {
2+
const map = {};
3+
4+
for (let i = 0; i < nums1.length; i++) {
5+
map[nums1[i]] = i;
6+
}
7+
8+
let res = new Array(nums1.length).fill(-1);
9+
const stack: number[] = [];
10+
11+
for (let i = 0; i < nums2.length; i++) {
12+
let cur = nums2[i];
13+
while (stack.length && cur > stack.at(-1)) {
14+
let val = stack.pop()!;
15+
let idx = map[val];
16+
res[idx] = cur;
17+
}
18+
if (map.hasOwnProperty(cur)) {
19+
stack.push(cur);
20+
}
21+
}
22+
23+
return res;
24+
}

0 commit comments

Comments
 (0)