码迷,mamicode.com
首页 > 其他好文 > 详细

997.找到小镇的法官

时间:2019-07-08 13:33:08      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:info   统计   ==   code   length   对象   技术   下标   结果   

技术图片

public int findJudge(int N, int[][] trust) {
        if( N==1 && trust.length==0) {
            return 1;
        }
        if (trust.length != 0) {
            // arr用于投票记录
            int arr[] = new int[10000];
            // temp用于记录最大值 //x 记录谁是可能法官 // bol 判断是不是有多个N-1的值
            int temp = arr[0];
            int x = 1;
            int bol = 0;
            // 所有人的结果读入 只是读入投票人选出的对象
            int length = trust.length;
            int wide = trust[0].length;
            for (int i = 0; i < length; i++) {
                int y = trust[i][wide - 1] - 1;
                arr[y]++;
            }
            // 进行判断 看是不是合适答案
            for (int i = 0; i < N; i++) {
                // 记录最大值的下标 也就是法官的号数
                if (arr[i] > temp) {
                    temp = arr[i];
                    x = i + 1;
                }
                 if (arr[i] == N - 1) {
                    bol++;
                }
            }
            // 如果票数不是N-1或者 多个同样的票数则return-1
            if (temp != N - 1 || bol != 1) {
                return -1;
            }
            // 筛选条件二
            else {
                // 是那个符合条件的人是否还投票
                for (int i = 0; i < length; i++) {
                    if (trust[i][0] == x)
                        return -1;
                }
            }
            return x;
        } 
        else {
            return -1;
        }
    }

其他的解法:

public int findJudge(int N, int[][] trust) {
        int[] truster = new int[N+1];
        int[] trustee = new int[N+1];
        
        for (int[] pair : trust) {
            truster[pair[0]]++;//统计投票人被投票情况
            trustee[pair[1]]++;//统计投票人投给谁
        }
        for (int i = 1; i <= N; i++) {
            if (truster[i] == 0 && trustee[i] == N-1) {
                return i;
            }
        }
        return -1;
}

997.找到小镇的法官

标签:info   统计   ==   code   length   对象   技术   下标   结果   

原文地址:https://www.cnblogs.com/cznczai/p/11150514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!