Skip to content

997. 找到小镇的法官 #32

Open
@zpc7

Description

@zpc7

997. 找到小镇的法官

function findJudge(n: number, trust: number[][]): number {
    // 寻找图中出度为 0 的节点

    // key:被信任的人,value:被多少人信任
    let peopleWhoBeTrustedMap = new Map();
    // 信任别人的人
    let peopleWhoTrustOther = new Set();
    trust.forEach(item => {
        peopleWhoBeTrustedMap.set(item[1], (peopleWhoBeTrustedMap.get(item[1]) || 0) + 1)
        peopleWhoTrustOther.add(item[0])
    })

    let res = -1; //法官

    for (let i = 1; i <= n; i++) {
        // !peopleWhoTrustOther.has(i) 法官不信任其他人
        // (peopleWhoBeTrustedMap.get(i) || 0) === n - 1 其他人都信任法官
        if (!peopleWhoTrustOther.has(i) && (peopleWhoBeTrustedMap.get(i) || 0) === n - 1) {
            res = i;
        }
    }

    return res;
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    简单LeetCode 难度定级

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions