Code Room
CodingMediumcod-g045
Subject Monotonic stackLevel Mid–Senior~25 minCommon in Algorithms & data structures interviewsIndustries Software development

Question

Given a circular integer array nums, return an array answer where answer[i] is the next greater element for nums[i]. The next greater element of a position is the first value strictly greater than nums[i] when traversing forward and wrapping around the array; if none exists, use -1. Here 1 <= len(nums) <= 10^4 and values may be negative.

Implement
next_greater_circular(nums: list[int]) → list[int]
Examples
in[[1,2,1]]out[2,-1,2]
What a strong answer looks like

State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.

Vibe coding: describe the solution in plain language (or narrate it) and the coach grades your approach. Generating runnable code from your description is coming next.

Run or narrate your approach, then ask the coach.