leetcode代码记录(找到小镇的法官

目录

  • 1. 题目:
  • 2. 我的代码:
  • 小结:

1. 题目:

在这里插入图片描述
小镇里有 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

2. 我的代码:

class Solution:def findJudge(self, n: int, trust: List[List[int]]) -> int:# 每个人的入度 和 出度(因为第一个人编号是1,所以度从1开始)in_degree = [0] * (n + 1)out_degree = [0] * (n + 1)# 统计入度和出度for in_out in trust:out_d, in_d = in_outin_degree[in_d] += 1out_degree[out_d] += 1# 查看每个人的入度和出度for i in range(1, n + 1):if in_degree[i] == (n - 1) and out_degree[i] == 0:return ireturn -1

这里用邻接矩阵当然是没问题的,但是这里只需要做累加即可,没必要记下所有的边的情况。因此,可以简单使用两个列表分别统计入度和出度。

最后,入度为n - 1 (因为除了本人以外),出度为0,即可证明为法官。

小结:

关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
添加我的公众号即可:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/538777.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙原生应用又又又……扩圈了!你打算何时入局?

继1月18日华为鸿蒙生态千帆启航后不久,先有深圳新政支持鸿蒙原生应用发展,再有多领域抢跑!重庆市鸿蒙原生应用浪潮。如今又有一重量级的互联网大厂旗下产品加入。 3月14日下午,**阿里旗下的 11 款应用已正式启动鸿蒙原生应用的开…

LLVM-3.5 —— 01记,编译 LLVM 3.5.0 clang and clang-query

包括编译:clang clang-tools-extra 0, prepare env sudo apt install llvm sudo apt install clang 使用最新的g 会出错。 1, source code $ git clone --recursive $ cd llvm-project $ git checkout llvmorg-3.5.0 $ cp -r ./clang ./llvm/tools/ $ mkdir llv…

Affinity Photo:像素大师,影像重塑者 mac/win版

在数字图像处理领域,Affinity Photo已经崭露头角,成为许多专业摄影师和图像设计师的首 选工具。这款软件不仅具备丰富的功能和强大的性能,还提供了直观易用的操作界面,让用户能够轻松实现高质量的图像处理。 Affinity Photo 软件…

基于大语言模型(LLM)的表格理解任务探索与实践

大语言模型(LLMs)的发展日新月异,为表格理解任务带来了新的可能性。表格理解任务,如基于表格的问答和表格事实验证,要求从自由形式的文本和半结构化的表格数据中提取深层次的语义信息。与泛化的文本推理任务不同&#…

【LeetCode热题100】54. 螺旋矩阵

一.题目要求 给你一个 m 行 n 列的矩阵 matrix ,请按照顺时针螺旋顺序 ,返回矩阵中的所有元素。 二.题目难度 中等 三.输入样例 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例…

基于springboot社团管理系统的设计与实现

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳…

GitHub 服务器

GitHub 服务器 公司中,我们可以搭建中央服务器让项目组开发人员共享代码,但是如果我们的开发人员都是通过互联网进行协作,而不是在同一个地方,那么开发时,程序文件代码的版本管理就显得更加重要,这就需要搭…

Python教你几行代码轻轻松松爬取美女图片,不学白不学!!!

Python教你几行代码轻轻松松爬取美女图片,不学白不学!!! 一、Python爬虫基础知识二、准备工作三、爬取美女图片的步骤四、代码实现五、常见问题与解决方案六、总结 在这个信息爆炸的时代,网络上的资源丰富多样&#xf…

【C++】string的底层剖析以及模拟实现

一、字符串类的认识 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数, 但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理&a…

Remove Prefix

题目链接:Problem - B - Codeforces 解题思路: 从最后开始遍历,用map记录每个数出现的次数,再定义一个num记录遍历的次数,要是没超过1,次数加一,超过就结束循环,输出数组长度减去nu…

算法空间复杂度计算

目录 空间复杂度定义 影响空间复杂度的因素 算法在运行过程中临时占用的存储空间讲解 例子 斐波那契数列递归算法的性能分析 二分法(递归实现)的性能分析 空间复杂度定义 空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大…

mac【启动elasticsearch报错:can not run elasticsearch as root

mac【启动elasticsearch报错:can not run elasticsearch as root 问题原因 es默认不能用root用户启动,生产环境建议为elasticsearch创建用户。 解决方案 为elaticsearch创建用户并赋予相应权限。 尝试了以下命令创建用户,adduser esh 和u…