mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
Merge pull request #1382 from xiaofei-2020/mono02
添加(0496.下一个更大元素I.md):增加typescript版本
This commit is contained in:
@ -332,5 +332,36 @@ var nextGreaterElement = function (nums1, nums2) {
|
||||
};
|
||||
```
|
||||
|
||||
TypeScript:
|
||||
|
||||
```typescript
|
||||
function nextGreaterElement(nums1: number[], nums2: number[]): number[] {
|
||||
const resArr: number[] = new Array(nums1.length).fill(-1);
|
||||
const stack: number[] = [];
|
||||
const helperMap: Map<number, number> = new Map();
|
||||
nums1.forEach((num, index) => {
|
||||
helperMap.set(num, index);
|
||||
})
|
||||
stack.push(0);
|
||||
for (let i = 1, length = nums2.length; i < length; i++) {
|
||||
let top = stack[stack.length - 1];
|
||||
while (stack.length > 0 && nums2[top] < nums2[i]) {
|
||||
let index = helperMap.get(nums2[top]);
|
||||
if (index !== undefined) {
|
||||
resArr[index] = nums2[i];
|
||||
}
|
||||
stack.pop();
|
||||
top = stack[stack.length - 1];
|
||||
}
|
||||
if (helperMap.get(nums2[i]) !== undefined) {
|
||||
stack.push(i);
|
||||
}
|
||||
}
|
||||
return resArr;
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
|
||||
-----------------------
|
||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
||||
|
Reference in New Issue
Block a user