997.找到小镇的法官(名流问题)
小镇里有 n 个人,按从 1 到 n 的顺序编号。传言称,这些人中有一个暗地里是小镇法官。
如果小镇法官真的存在,那么:
小镇法官不会信任任何人。
每个人(除了小镇法官)都信任这位小镇法官。
只有一个人同时满足属性 1 和属性 2 。
给你一个数组 trust ,其中 trust[i] = [ai, bi] 表示编号为 ai 的人信任编号为 bi 的人。
如果小镇法官存在并且可以确定他的身份,请返回该法官的编号;否则,返回 -1 。
示例 1:
输入:n = 2, trust = [[1,2]]
输出:2
示例 2:
输入:n = 3, trust = [[1,3],[2,3]]
输出:3
示例 3:
输入:n = 3, trust = [[1,3],[2,3],[3,1]]
输出:-1
众里寻他千百度:名流问题 :: labuladong的算法小抄 (gitee.io)
class Solution {
public: int findJudge(int n, vector<vector<int>>& trust) {vector<vector<int>> graph(n+1,vector<int>(n+1,0));for(vector<int> relation:trust)//建立邻接矩阵{int p=relation[0];int q=relation[1];graph[p][p]=1;//正对角线元素置为1,自己相信自己graph[q][q]=1;graph[p][q]=1;}if(n==1)//只有一个人,那他肯定是法官return 1;int cand=1;//假设法官是1for(int other=2;other<=n;other++){if(graph[cand][other])//如果法官信任其他人,那他肯定不是法官,再假设法官是other{cand=other;}}for(int other=1;other<=n;other++)//现在的cand是排除的最后结果,但不能保证一定是法官{if(cand==other)//正对角线元素,也就是自己,不需要做下面的判断continue;if(graph[cand][other]||!graph[other][cand])//法官信任其他人或者其他人不信任法官,说明cand不是法官,即没有法官{return -1;}}return cand;}
};
997.找到小镇的法官(名流问题)相关推荐
- 【快乐水题】997. 找到小镇的法官
原题: 力扣链接:997. 找到小镇的法官 题目简述: 在一个小镇里,按从 1 到 n 为 n 个人进行编号.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相 ...
- 997. 找到小镇的法官_小镇...
997. 找到小镇的法官 Bethlehem Media Net strives to be the "voice of the voiceless" bringing the s ...
- leetcode 997 找到小镇的法官
https://leetcode-cn.com/problems/find-the-town-judge/ 题目 在一个小镇里,按从111到nnn为nnn个人进行编号.传言称,这些人中有一个是小镇上的 ...
- 力扣题目——997. 找到小镇的法官
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 在一个小镇里,按从 1 到 n 为 n 个人进行编号.传言称,这些人中有一个 ...
- LeetCode 997. 找到小镇的法官(图的出度和入度)
1. 题目 在一个小镇里,按从 1 到 N 标记了 N 个人.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人. 每个人(除了小镇法官外)都信任小镇的 ...
- 997. 找到小镇的法官
在一个小镇里,按从 1 到 N 标记了 N 个人.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人. 每个人(除了小镇法官外)都信任小镇的法官. 只有 ...
- leetcode(力扣) 997. 找到小镇的法官 (剧本杀推理)
文章目录 题目描述: 思路分析 完整代码: 题目描述: 小镇里有 n 个人,按从 1 到 n 的顺序编号.传言称,这些人中有一个暗地里是小镇法官. 如果小镇法官真的存在,那么: 小镇法官不会信任任何人 ...
- 每日一题 leetcode 997. 找到小镇的法官 java
class Solution {public int findJudge(int n, int[][] trust) {if(trust.length==0){if(n==1) return 1;el ...
- 2022-4-6 Leetcode 997.找到小镇的法官——【原来是图的问题啊~】
第一版,原来其他人可以互相信任. class Solution {public:int findJudge(int n, vector<vector<int>>& tr ...
最新文章
- “新一代城市大脑建设与发展“专家研讨会
- C# partial 关键字的使用
- python中cookies怎么用_Cookie在python爬虫中怎么用?Cookielib又是什么?
- 软件工程实验报告一模板
- Python字符串逆序输出
- Python list列表groupby分组用法
- win10计算机磁盘图标,主编教你win10系统无法正常显示硬盘图标的方法
- CATIA二次开发—强大的Selection
- puzzle(1411)《文字》拼单词、一字不落、汉字魔法
- 图形学中的光和辐射学(Radiometry)
- php gd库 缩小图片_【源码分享】PHP中GD库实现图片等比例缩放
- iPhone 13锁屏无法收到微信通知提示怎么解决?
- OpenGL三维模型+常见错误
- Mask TextSpotter 算法笔记
- 「开源学」:如何分门别类理解开源
- 知识点01、2022版MyBatisPlus教程(一套玩转mybatis-plus) - 1.01-MyBatis-Plus简介
- defer script
- VMware ESX Server 服务器数据恢复实战--攻破VMFS文件系统
- matlab在c盘有缓存文件夹吗,上网看电影时,文件是缓存在C盘的什么文件夹里?
- 大聚会——CSS选择器