Number of Visible People in a Queue
There are n people standing in a queue, numbered from 0 to n - 1 in left to right order. You are given an array heights of distinct integers where heights[i] represents the height of the i^th person.
A person can see another person to their right in the queue if everybody in between is shorter than both of them. More formally, the i^th person can see the j^th person if i < j and min(heights[i], heights[j]) > max(heights[i+1], heights[i+2], ..., heights[j-1]).
Return an array answer of length n where answer[i] is the number of people the i^th person can see to their right in the queue.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 10 6 8 5 11 9
heights = [10,6,8,5,11,9][3,1,2,1,1,0] #
#
#
#
#
# #
# #
# # #
# # # #
# # # # #
5 1 2 3 10heights = [5,1,2,3,10][4,1,1,1,0]Constraints
- n == heights.length
- 1 <= n <= 10^5
- 1 <= heights[i] <= 10^5
- All the values of heights are unique.
Asked at 17 companies
Practice questions like this out loud in a mock coding interview with a live AI interviewer. First one free.