问题来源:https://leetcode-cn.com/problems/next-greater-element-i/
想用javascript和单调栈,但是一直得不到正确结果,知道应该改的地方但是不知道要怎么改。难道本身就不能这么写吗?求大佬们指教
var nextGreaterElement = function(nums1, nums2) {
let result = new Array(nums1.length).fill(-1),
stack = [];
for(let i = 0; i < nums1.length; i++){
stack = [];
let cur = nums1[i];
let t = nums2.indexOf(cur);//这是对应nums2的下标
for(; t < nums2.length; t++){
while(stack.length && nums2[t] >= stack[stack.length-1]){
stack.pop();
}
result[i] = stack.length? stack[stack.length-1] : -1;//应该是这里出了问题
stack.push(nums2[t]);
}
}
return result;
}