Skip to content

Commit 9cbd053

Browse files
committed
添加(0496.下一个更大元素I.md):增加typescript版本
1 parent e07a3ca commit 9cbd053

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

problems/0496.下一个更大元素I.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,5 +332,36 @@ var nextGreaterElement = function (nums1, nums2) {
332332
};
333333
```
334334

335+
TypeScript:
336+
337+
```typescript
338+
function nextGreaterElement(nums1: number[], nums2: number[]): number[] {
339+
const resArr: number[] = new Array(nums1.length).fill(-1);
340+
const stack: number[] = [];
341+
const helperMap: Map<number, number> = new Map();
342+
nums1.forEach((num, index) => {
343+
helperMap.set(num, index);
344+
})
345+
stack.push(0);
346+
for (let i = 1, length = nums2.length; i < length; i++) {
347+
let top = stack[stack.length - 1];
348+
while (stack.length > 0 && nums2[top] < nums2[i]) {
349+
let index = helperMap.get(nums2[top]);
350+
if (index !== undefined) {
351+
resArr[index] = nums2[i];
352+
}
353+
stack.pop();
354+
top = stack[stack.length - 1];
355+
}
356+
if (helperMap.get(nums2[i]) !== undefined) {
357+
stack.push(i);
358+
}
359+
}
360+
return resArr;
361+
};
362+
```
363+
364+
365+
335366
-----------------------
336367
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>

0 commit comments

Comments
 (0)