Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9cbd053

Browse files
添加(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)

AltStyle によって変換されたページ (->オリジナル) /