mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
添加(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>
|
<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