Search⌘ K
AI Features

Solution: Number of Visible People in a Queue

Explore how to determine the number of visible people to the right for each person in a queue using a monotonic decreasing stack. Understand the logic behind line-of-sight blocked by taller individuals and implement an efficient O(n) solution that utilizes stack operations to solve this visibility problem.

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]) ...