Find the Town Judge LeetCode solution in JavaScript

1
var findJudge = function (n, trust) {
2
const length = trust.length;
3
let possibleJudge = [],
4
judgeMap = new Map(),
5
value,
6
judge = -1;
7
for (let i = 0; i < length; i++) {
8
if (judgeMap.has(trust[i][0])) {
9
value = judgeMap.get(trust[i][0]);
10
value.push(trust[i][1]);
11
judgeMap.set(trust[i][0], value);
12
} else {
13
judgeMap.set(trust[i][0], [trust[i][1]]);
14
}
15
}
16
value = [];
17
for (let i = 1; i <= n; i++) {
18
if (!judgeMap.has(i)) {
19
possibleJudge.push(i);
20
} else {
21
value.push([i, judgeMap.get(i)]);
22
}
23
}
24
if (!value.length || value.length !== n - 1) {
25
if (possibleJudge.length === 1) return possibleJudge[0];
26
return judge;
27
}
28
for (let i = 0; i < possibleJudge.length; i++) {
29
judge = possibleJudge[i];
30
for (let j = 0; j < value.length; j++) {
31
if (value[j][1].indexOf(judge) < 0) {
32
judge = -1;
33
break;
34
}
35
}
36
if (judge !== -1) break;
37
}
38
return judge;
39
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0