997.找到小镇的法官
var findJudge = function (n, trust) {
if (n === 1 && trust.length === 0) {
return n
}
let countMap = new Map()
let trustedMap = new Map()
for (let i = 0; i < trust.length; i++) {
let person = trust[i][0]
let trt = trust[i][1]
trustedMap.set(person, true)
countMap.set(trt, (countMap.get(trt) || 0) + 1)
}
for (let [trt, cnt] of countMap) {
if (cnt === n - 1 && !trustedMap.has(trt)) {
return trt
}
}
return -1
};
var findJudge = function (n, trust) {
let inDegrees = new Array(n + 1).fill(0)
let outDegrees = new Array(n + 1).fill(0)
for (let i = 0; i < trust.length; i++) {
let myself = trust[i][0]
let trt = trust[i][1]
outDegrees[myself]++
inDegrees[trt]++
}
for (let i = 1; i < inDegrees.length; i++) {
if (inDegrees[i] === n - 1 && outDegrees[i] === 0) {
return i
}
}
return -1
}