1
var loudAndRich = function (richer, quiet) {3
for (const [rich, poor] of richer) {4
map.set(poor, (map.get(poor) || new Set()).add(rich));7
const memo = new Map();8
const getQuietest = (person) => {9
if (memo.has(person)) return memo.get(person);10
const richerList = map.get(person);11
let min = quiet[person];12
let quietest = person;14
memo.set(person, quietest);17
for (const rich of richerList) {18
if (quiet[getQuietest(rich)] < min) {19
min = quiet[getQuietest(rich)];20
quietest = getQuietest(rich);23
memo.set(person, quietest);27
for (let i = 0; i < quiet.length; i++) {28
answer.push(getQuietest(i));