1944. Number of Visible People in a Queue Hard
1/**
2 * [1944] Number of Visible People in a Queue
3 *
4 * There are n people standing in a queue, and they 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.
5 * 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]).
6 * 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.
7 *
8 * Example 1:
9 * <img alt="" src="https://assets.leetcode.com/uploads/2021/05/29/queue-plane.jpg" style="width: 600px; height: 247px;" />
10 *
11 * Input: heights = [10,6,8,5,11,9]
12 * Output: [3,1,2,1,1,0]
13 * Explanation:
14 * Person 0 can see person 1, 2, and 4.
15 * Person 1 can see person 2.
16 * Person 2 can see person 3 and 4.
17 * Person 3 can see person 4.
18 * Person 4 can see person 5.
19 * Person 5 can see no one since nobody is to the right of them.
20 *
21 * Example 2:
22 *
23 * Input: heights = [5,1,2,3,10]
24 * Output: [4,1,1,1,0]
25 *
26 *
27 * Constraints:
28 *
29 * n == heights.length
30 * 1 <= n <= 10^5
31 * 1 <= heights[i] <= 10^5
32 * All the values of heights are unique.
33 *
34 */
35pub struct Solution {}
36
37// problem: https://leetcode.com/problems/number-of-visible-people-in-a-queue/
38// discuss: https://leetcode.com/problems/number-of-visible-people-in-a-queue/discuss/?currentPage=1&orderBy=most_votes&query=
39
40// submission codes start here
41
42impl Solution {
43 pub fn can_see_persons_count(heights: Vec<i32>) -> Vec<i32> {
44 vec![]
45 }
46}
47
48// submission codes end
49
50#[cfg(test)]
51mod tests {
52 use super::*;
53
54 #[test]
55 fn test_1944() {
56 }
57}
58
Back
© 2025 bowen.ge All Rights Reserved.