This practice workspace is built for desktop. Open it on a larger screen to start solving.
Next Greater Element
Given an array of integers nums, return a new array result where result[i] is the first element greater than nums[i] that appears to the right of index i in the original array.
If no such element exists, set result[i] = -1.
The classic approach uses a monotonic decreasing stack of indices: iterate left to right; when the current element is greater than the value at the stack's top index, that index has found its next greater element — pop and record the answer, then push the current index.
Examples
Constraints
- 1 <= nums.length <= 10^4
- -10^9 <= nums[i] <= 10^9
Preview Mode
This is a read-only preview of DSAMind's AI coaching. Sign up to get custom feedback on your own solution.
Your approach
- Pattern:Stack
- Time:O(N)
- Space:O(1)
Complete approach — pattern and complexity both named.
Coach
What you got right
You correctly matched the sorted input requirement and implemented a linear-time scan using two pointers.
Where it diverged
No divergence detected. The code correctly aligns with the stated approach.
Next attempt: focus on
Try solving related sliding window problems to build familiarity with two-pointer variants.
Signals
No signals fired — clean run, you stayed in flow.