在一組 n 個人(編號為0, 1, 2, ..., n-1
)中,每個人都有不同數目的錢,以及不同程度的安靜(quietness)。
為了方便起見,我們將編號為x
的人簡稱為 "personx
"。
如果能夠肯定 personx
比 persony
更有錢的話,我們會說richer[i] = [x, y]
。注意richer
可能只是有效觀察的乙個子集。
另外,如果 personx
的安靜程度為q
,我們會說quiet[x] = q
。
現在,返回答案answer
,其中answer[x] = y
的前提是,在所有擁有的錢不少於 personx
的人中,persony
是最安靜的人(也就是安靜值quiet[y]
最小的人)。
示例:
輸入:richer = [[1,0],[2,1],[3,1],[3,7],[4,3],[5,3],[6,3]], quiet = [3,2,5,4,6,1,7,0]
輸出:[5,5,2,5,4,5,6,7]
解釋:
answer[0] = 5,
person 5 比 person 3 有更多的錢,person 3 比 person 1 有更多的錢,person 1 比 person 0 有更多的錢。
唯一較為安靜(有較低的安靜值 quiet[x])的人是 person 7,
但是目前還不清楚他是否比 person 0 更有錢。
answer[7] = 7,
在所有擁有的錢肯定不少於 person 7 的人中(這可能包括 person 3,4,5,6 以及 7),
最安靜(有較低安靜值 quiet[x])的人是 person 7。
其他的答案也可以用類似的推理來解釋。
1 <= quiet.length = n <= 500
0 <= quiet[i] < n
,所有quiet[i]
都不相同。
0 <= richer.length <= n * (n-1) / 2
0 <= richer[i][j] < n
richer[i][0] != richer[i][1]
richer[i]
都是不同的。
對richer
的觀察在邏輯上是一致的。
851 喧鬧和富有
讀完題後,感覺是個有向圖,我的理解是對於乙個點 這裡即所謂person 取所有能走到這個點的點裡對應的quiet最小的點。找能到達點x的點集中最小quiet的這個過程可定義為func x 這樣問題就簡化為了對點x,找與x有直接關聯的 即存在於richer陣列中 的點集ys中的min func y 可...
851 喧鬧和富有
題目描述 在一組 n 個人 編號為 0,1,2,n 1 中,每個人都有不同數目的錢,以及不同程度的安靜 quietness 為了方便起見,我們將編號為 x 的人簡稱為 person x 如果能夠肯定 person x 比 person y 更有錢的話,我們會說 richer i x,y 注意 ric...
851 喧鬧和富有
在一組 n 個人 編號為 0,1,2,n 1 中,每個人都有不同數目的錢,以及不同程度的安靜 quietness 為了方便起見,我們將編號為 x 的人簡稱為 person x 如果能夠肯定 person x 比 person y 更有錢的話,我們會說 richer i x,y 注意 richer 可...