每日一题python90:找到小镇的法官
题目:小镇里有 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
程序说明:
方法一: 因为小镇法官不相信任何人,所以小镇法官只可能在[ai,bi]的bi的位置,因此首先排除掉a列表里面等于ai的元素,留下的便是小镇法官,接着判断bi为小镇法官(即信任法官的)有几个,最后若个数等于n-1即可返回法官。
方法二:使用了有向图的思想,在法官存在的情况下,因为法官不相信任何人,因此法官这个节点的入度是 n-1,出度是 0。我们可以遍历每个节点的入度和出度,如果找到一个符合条件的节点,由于题目保证只有一个法官,我们可以直接返回结果;如果不存在符合条件的点,则返回 -1。
全部代码:
class Solution:def findJudge(self, n: int, trust: List[List[int]]) -> int:a=[]for i in range(n):a.append(i+1)for i in range(len(trust)):if trust[i][0] in a:a.remove(trust[i][0])for i in a:b=0for j in trust:if j[1]==i:b+=1if b ==n-1:return ireturn -1
方法二:
class Solution:def findJudge(self, n: int, trust: List[List[int]]) -> int:inDegrees = Counter(y for _, y in trust)outDegrees = Counter(x for x, _ in trust)return next((i for i in range(1, n + 1) if inDegrees[i] == n - 1 and outDegrees[i] == 0), -1)
来源:力扣(LeetCode)
每日一题python90:找到小镇的法官相关推荐
- LeetCode简单题之找到小镇的法官
题目 小镇里有 n 个人,按从 1 到 n 的顺序编号.传言称,这些人中有一个暗地里是小镇法官. 如果小镇法官真的存在,那么: 小镇法官不会信任任何人. 每个人(除了小镇法官)都信任这位小镇法官. 只 ...
- 【快乐水题】997. 找到小镇的法官
原题: 力扣链接:997. 找到小镇的法官 题目简述: 在一个小镇里,按从 1 到 n 为 n 个人进行编号.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相 ...
- Python3求解找到小镇的法官问题
Python3求解找到小镇的法官问题 原题 https://leetcode-cn.com/problems/find-the-town-judge/ 题目: 在一个小镇里,按从 1 到 N 标记了 ...
- 找到小镇的法官(社会名流问题)
问题 力扣:找到小镇的法官 这个问题可以抽象成:在 n × n n×n n×n 矩阵中,是否存在 i i i,使得 第 i i i 列除第 i i i 项以外所有项都是 1 1 1: 第 i i i ...
- 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 个人.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人. 每个人(除了小镇法官外)都信任小镇的法官. 只有 ...
最新文章
- mysql查看数据文件ibdata_如何从 ibdata文件 恢复 MySQL 数据库
- qt系统托盘显示、无主窗体
- mysql awr v1.0.1发布
- 数据中心制冷基本原则及节能方案
- apply()与call()
- springcloud gateway 源码解析、请求响应流程、第三方响应结果在 gateway 的经过
- 写帮助大家学习的小框架
- 文件上传漏洞原理与实例测试
- UVA1363 LA3521 POJ2800 ZOJ2646 Joseph‘s Problem【约瑟夫环+数学】
- ECMAScript 6 基础入门
- 430单片机实现三人投票表决器_基于51单片机的三人表决器设计.doc
- 如何使用JavaScript重定向到其他网页?
- B站粉丝数监控(Python实现)
- 代码里颜色设置表RGB+CMYK
- 蓝桥杯 画积木 /洛谷 P1990 墙壁覆盖
- 抖音二面:计算机网络-应用层
- 小目标检测的相关挑战与问题
- 生活中的ps!女朋友把菜花烤了一下,结果......
- python批量提取word指定内容_python批量提取word内信息
- 你还在盲目跟风学Python?不要盲目!某华大学教授有话要说
热门文章
- html 自动隐藏属性,hidden
- Microsoft Enterprise Library 简介与请大家下载Microsoft Enterprise Library 5.0体验微软最新技术应用于企业信息平台
- 跳出多层for循环的几种方式
- 中级软件设计师考试错题及知识点整理
- 工作5年的阿里Java程序员分享从业心得总结,写给还在迷茫的朋友
- 国家lpv9服务器包括哪些项目,ipv6与ipv9什么关系
- 【AUTOSAR-CanTp】-2.10-复用UDS/OBD诊断物理/功能寻址/响应CAN_ID--Extended addressing扩展寻址
- 中科院计算所培训中心2017年第一季度课程安排
- NASA卫星拍摄地球夜晚的照片
- JAVA实现图片质量压缩和加水印