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 e1a1cd4

Browse files
Merge pull request youngyangyang04#1382 from xiaofei-2020/mono02
添加(0496.下一个更大元素I.md):增加typescript版本
2 parents 3cdb121 + 9cbd053 commit e1a1cd4

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 によって変換されたページ (->オリジナル) /