Class Solution
-
- All Implemented Interfaces:
public final class Solution851 - Loud and Rich.
Medium
There is a group of
npeople labeled from0ton - 1where each person has a different amount of money and a different level of quietness.You are given an array
richerwhere <code>richeri = a<sub>i</sub>, b<sub>i</sub></code> indicates that <code>a<sub>i</sub></code> has more money than <code>b<sub>i</sub></code> and an integer arrayquietwherequiet[i]is the quietness of the <code>i<sup>th</sup></code> person. All the given data in richer are logically correct (i.e., the data will not lead you to a situation wherexis richer thanyandyis richer thanxat the same time).Return an integer array
answerwhereanswer[x] = yifyis the least quiet person (that is, the personywith the smallest value ofquiet[y]) among all people who definitely have equal to or more money than the personx.Example 1:
Input: richer = \[\[1,0],2,1,3,1,3,7,4,3,5,3,6,3], quiet = 3,2,5,4,6,1,7,0
Output: 5,5,2,5,4,5,6,7
Explanation:
answer0 = 5.
Person 5 has more money than 3, which has more money than 1, which has more money than 0.
The only person who is quieter (has lower quietx) is person 7, but it is not clear if they have more money than person 0.
answer7 = 7.
Among all people that definitely have equal to or more money than person 7 (which could be persons 3, 4, 5, 6, or 7), the person who is the quietest (has lower quietx) is person 7.
The other answers can be filled out with similar reasoning.
Example 2:
Input: richer = [], quiet = 0
Output: 0
Constraints:
n == quiet.length1 <= n <= 5000 <= quiet[i] < nAll the values of
quietare unique.0 <= richer.length <= n * (n - 1) / 2<code>0 <= a<sub>i</sub>, b<sub>i</sub>< n</code>
<code>a<sub>i</sub> != b<sub>i</sub></code>
All the pairs of
richerare unique.The observations in
richerare all logically consistent.