Next Greater Element

n^2, n
function nextGreaterElement(arr) {
const answer = [];
for (let i = 0; i < arr.length; i++) {
const curr = i;
let idx = (i + 1) % arr.length;
while (idx !== i) {
if (arr[curr] < arr[idx]) {
answer[curr] = arr[idx];
break;
}
idx++;
idx %= arr.length;
}
if (idx === i) {
answer[curr] = -1;
}
}
return answer;
}
// Do not edit the line below.
exports.nextGreaterElement = nextGreaterElement;optimized with using stack β pick from latest element
n, n
Last updated