zoukankan      html  css  js  c++  java
  • #Leetcode# 997. Find the Town Judge

    https://leetcode.com/problems/find-the-town-judge/

    In a town, there are N people labelled from 1 to N.  There is a rumor that one of these people is secretly the town judge.

    If the town judge exists, then:

    1. The town judge trusts nobody.
    2. Everybody (except for the town judge) trusts the town judge.
    3. There is exactly one person that satisfies properties 1 and 2.

    You are given trust, an array of pairs trust[i] = [a, b] representing that the person labelled a trusts the person labelled b.

    If the town judge exists and can be identified, return the label of the town judge.  Otherwise, return -1.

    Example 1:

    Input: N = 2, trust = [[1,2]]
    Output: 2
    

    Example 2:

    Input: N = 3, trust = [[1,3],[2,3]]
    Output: 3
    

    Example 3:

    Input: N = 3, trust = [[1,3],[2,3],[3,1]]
    Output: -1
    

    Example 4:

    Input: N = 3, trust = [[1,2],[2,3]]
    Output: -1
    

    Example 5:

    Input: N = 4, trust = [[1,3],[1,4],[2,3],[2,4],[4,3]]
    Output: 3

    Note:

    1. 1 <= N <= 1000
    2. trust.length <= 10000
    3. trust[i] are all different
    4. trust[i][0] != trust[i][1]
    5. 1 <= trust[i][0], trust[i][1] <= N

    代码:

    class Solution {
    public:
        vector<int> v[1010];
        int vis[1010];
        int findJudge(int N, vector<vector<int>>& trust) {
            int n = trust.size();
            
            for(int i = 0; i < n; i ++) {
                int a = trust[i][0], b = trust[i][1];
                v[b].push_back(a);
                vis[a] = 1;
            }
            
            int cnt = 0, temp = 0;
            for(int i = 1; i <= N; i ++) {
                if(vis[i] == 0 && v[i].size() == N - 1) {
                    cnt ++;
                    temp = i;
                }
            }
            if(cnt == 1) return temp;
            return -1;
        }
    };
    

     

  • 相关阅读:
    python深浅拷贝
    软件开发目录规范
    编码规范
    python进程、线程、协程的介绍及使用
    soket粘包问题及解决方案
    python socket通信
    数据开发_机器学习
    数据开发_开发工具以及工具链
    数据开发_Python读取文件
    数据开发_Java设计模式_IO以及读取资源文件
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10715985.html
Copyright © 2011-2022 走看看