Search⌘ K
AI Features

Solution: Number of Visible People in a Queue

Explore how to determine the number of visible people to the right in a queue by applying a monotonic decreasing stack. Learn to implement an efficient linear time algorithm that counts visible individuals by processing heights from right to left, considering blocking by taller or equal-height people.

Statement

You are given an array heights representing n people standing in a queue, numbered from 0 to n - 1 from left to right. Each element heights[i] denotes the height of the person at position i. All heights are distinct.

A person at position i can see a person at position j (i < j) to their right if every person between them is shorter than both heights[i] and heights[j].

Formally, person i can see person j if:

  • i<ji < j and min(heights[i],heights[j])>max(heights[i+1],heights[i+2],...,heights[j1]) ...