Class Solution
- java.lang.Object
-
- g1901_2000.s1944_number_of_visible_people_in_a_queue.Solution
-
public class Solution extends Object
1944 - Number of Visible People in a Queue.Hard
There are
n
people standing in a queue, and they numbered from0
ton - 1
in left to right order. You are given an arrayheights
of distinct integers whereheights[i]
represents the height of theith
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
ith
person can see thejth
person ifi < j
andmin(heights[i], heights[j]) > max(heights[i+1], heights[i+2], ..., heights[j-1])
.Return an array
answer
of lengthn
whereanswer[i]
is the number of people theith
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
1 <= n <= 105
1 <= heights[i] <= 105
- All the values of
heights
are unique.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int[]
canSeePersonsCount(int[] heights)
-