LeetCode题解之 Find the Town Judge

本文探讨了一个特定的信任问题,通过使用map和set数据结构来找出可能的法官。代码示例展示了如何遍历信任关系列表,更新每个候选人的信任计数,并排除那些自己也信任别人的候选人。最终,如果存在一个被所有人信任但不信任任何人的个体,则返回其ID,否则返回-1。

1、题目描述

 

2、问题分析

使用map set数据结构。

 

3、代码

 1  int findJudge(int N, vector<vector<int>>& trust) {
 2         
 3         if (trust.size() == 0)
 4             return 1;
 5         
 6         int n = 0;
 7         map<int, int> m;
 8         set<int> s;
 9         for (auto it = trust.begin(); it != trust.end(); it++) {
10             m[(*it).back()]++;
11             s.insert((*it).front());
12         }
13         
14         int peo = INT_MIN;
15         for (auto it = m.begin(); it != m.end(); it++) {
16             if (it->second > n){
17                 n = it->second;
18                 peo = it->first;
19             }
20         }
21         
22         return ((n == (N - 1)) && s.find(peo) == s.end()) ? peo : -1;
23         
24     }

 

转载于:https://www.cnblogs.com/wangxiaoyong/p/10462999.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值