Search⌘ K
AI Features

Solution: Next Greater Element IV

Understand how to use two stacks to determine the second greater element for each number in an array. This lesson covers the approach to track elements waiting for first and second greater values, enabling a single pass solution with linear time complexity and efficient space usage.

Statement

You are given a 0-indexed array of non-negative integers nums. For each element nums[i], determine its second greater element and return an array res where res[i] contains the second greater element of nums[i].

The second greater element of nums[i] is defined as the value nums[j] such that:

  • j > i

  • nums[j] > nums[i]

  • There exists exactly one index k where i < k < j and nums[k] > nums[i]

If no such index j exists, then the second greater element for nums[i] is -1.

Constraints:

  • ...