Class Solution
-
- All Implemented Interfaces:
public final class Solution1944 - Number of Visible People in a Queue.
Hard
There are
npeople standing in a queue, and they numbered from0ton - 1in left to right order. You are given an arrayheightsof distinct integers whereheights[i]represents the height of the <code>i<sup>th</sup></code> 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 <code>i<sup>th</sup></code> person can see the <code>j<sup>th</sup></code> person if
i < jandmin(heights[i], heights[j]) > max(heights[i+1], heights[i+2], ..., heights[j-1]).Return an array
answerof lengthnwhereanswer[i]is the number of people the <code>i<sup>th</sup></code> person can see to their right in the queue.Example 1:
Input: heights = 10,6,8,5,11,9
Output: 3,1,2,1,1,0
Explanation:
Person 0 can see person 1, 2, and 4.
Person 1 can see person 2.
Person 2 can see person 3 and 4.
Person 3 can see person 4.
Person 4 can see person 5.
Person 5 can see no one since nobody is to the right of them.
Example 2:
Input: heights = 5,1,2,3,10
Output: 4,1,1,1,0
Constraints:
n == heights.length<code>1 <= n <= 10<sup>5</sup></code>
<code>1 <= heightsi<= 10<sup>5</sup></code>
All the values of
heightsare unique.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntArraycanSeePersonsCount(IntArray heights)-
-
Method Detail
-
canSeePersonsCount
final IntArray canSeePersonsCount(IntArray heights)
-
-
-
-