2092. Find All People With Secret Hard
1/**
2 * [2092] Find All People With Secret
3 *
4 * You are given an integer n indicating there are n people numbered from 0 to n - 1. You are also given a 0-indexed 2D integer array meetings where meetings[i] = [xi, yi, timei] indicates that person xi and person yi have a meeting at timei. A person may attend multiple meetings at the same time. Finally, you are given an integer firstPerson.
5 * Person 0 has a secret and initially shares the secret with a person firstPerson at time 0. This secret is then shared every time a meeting takes place with a person that has the secret. More formally, for every meeting, if a person xi has the secret at timei, then they will share the secret with person yi, and vice versa.
6 * The secrets are shared instantaneously. That is, a person may receive the secret and share it with people in other meetings within the same time frame.
7 * Return a list of all the people that have the secret after all the meetings have taken place. You may return the answer in any order.
8 *
9 * Example 1:
10 *
11 * Input: n = 6, meetings = [[1,2,5],[2,3,8],[1,5,10]], firstPerson = 1
12 * Output: [0,1,2,3,5]
13 * Explanation:
14 * At time 0, person 0 shares the secret with person 1.
15 * At time 5, person 1 shares the secret with person 2.
16 * At time 8, person 2 shares the secret with person 3.
17 * At time 10, person 1 shares the secret with person 5.
18 * Thus, people 0, 1, 2, 3, and 5 know the secret after all the meetings.
19 *
20 * Example 2:
21 *
22 * Input: n = 4, meetings = [[3,1,3],[1,2,2],[0,3,3]], firstPerson = 3
23 * Output: [0,1,3]
24 * Explanation:
25 * At time 0, person 0 shares the secret with person 3.
26 * At time 2, neither person 1 nor person 2 know the secret.
27 * At time 3, person 3 shares the secret with person 0 and person 1.
28 * Thus, people 0, 1, and 3 know the secret after all the meetings.
29 *
30 * Example 3:
31 *
32 * Input: n = 5, meetings = [[3,4,2],[1,2,1],[2,3,1]], firstPerson = 1
33 * Output: [0,1,2,3,4]
34 * Explanation:
35 * At time 0, person 0 shares the secret with person 1.
36 * At time 1, person 1 shares the secret with person 2, and person 2 shares the secret with person 3.
37 * Note that person 2 can share the secret at the same time as receiving it.
38 * At time 2, person 3 shares the secret with person 4.
39 * Thus, people 0, 1, 2, 3, and 4 know the secret after all the meetings.
40 *
41 *
42 * Constraints:
43 *
44 * 2 <= n <= 10^5
45 * 1 <= meetings.length <= 10^5
46 * meetings[i].length == 3
47 * 0 <= xi, yi <= n - 1
48 * xi != yi
49 * 1 <= timei <= 10^5
50 * 1 <= firstPerson <= n - 1
51 *
52 */
53pub struct Solution {}
54
55// problem: https://leetcode.com/problems/find-all-people-with-secret/
56// discuss: https://leetcode.com/problems/find-all-people-with-secret/discuss/?currentPage=1&orderBy=most_votes&query=
57
58// submission codes start here
59
60impl Solution {
61 pub fn find_all_people(n: i32, meetings: Vec<Vec<i32>>, first_person: i32) -> Vec<i32> {
62 vec![]
63 }
64}
65
66// submission codes end
67
68#[cfg(test)]
69mod tests {
70 use super::*;
71
72 #[test]
73 fn test_2092() {
74 }
75}
76
Back
© 2025 bowen.ge All Rights Reserved.