Next Greater Element II LeetCode solution in JavaScript
1var nextGreaterElements = function (nums) {2const len = nums.length;3const ans = new Array(len).fill(-1);4const stack = [];5for (let i = 0; i < len; i++) {6if (i == 0) stack.push([i, nums[i]]);7else {8while (stack.length && stack.at(-1)[1] < nums[i]) {9ans[stack.pop()[0]] = nums[i];10}11stack.push([i, nums[i]]);12}13}14for (let num of nums) {15while (stack.length && stack.at(-1)[1] < num) {16ans[stack.pop()[0]] = num;17}18}19return ans;20};