【leetcode】997. Find the Town Judge
2024-08-24 23:45:59
题目如下:
In a town, there are
N
people labelled from1
toN
. There is a rumor that one of these people is secretly the town judge.If the town judge exists, then:
- The town judge trusts nobody.
- Everybody (except for the town judge) trusts the town judge.
- There is exactly one person that satisfies properties 1 and 2.
You are given
trust
, an array of pairstrust[i] = [a, b]
representing that the person labelleda
trusts the person labelledb
.If the town judge exists and can be identified, return the label of the town judge. Otherwise, return
-1
.Example 1:
Input: N = 2, trust = [[1,2]]
Output: 2Example 2:
Input: N = 3, trust = [[1,3],[2,3]]
Output: 3Example 3:
Input: N = 3, trust = [[1,3],[2,3],[3,1]]
Output: -1Example 4:
Input: N = 3, trust = [[1,2],[2,3]]
Output: -1Example 5:
Input: N = 4, trust = [[1,3],[1,4],[2,3],[2,4],[4,3]]
Output: 3Note:
1 <= N <= 1000
trust.length <= 10000
trust[i]
are all differenttrust[i][0] != trust[i][1]
1 <= trust[i][0], trust[i][1] <= N
解题思路:创建一个长度等于N的数组stat,记stat[i]为第i+1个人被别人信任的次数与信任别人的次数的差值,如果恰好等于N-1,则表明这个人就是法官。
代码如下:
class Solution(object):
def findJudge(self, N, trust):
"""
:type N: int
:type trust: List[List[int]]
:rtype: int
"""
stat = [0] * N
for x,y in trust:
stat[x-1] -= 1
stat[y-1] += 1
for i,v in enumerate(stat):
if v == N-1:
return i+1
return -1
最新文章
- GCC编译过程
- HTTP及状态码汇总
- [eclipse]改项目名称后tomcat连接问题解决方法
- zabbix源码安装
- ASP.Net MVC利用NPOI导入导出Excel
- chmod 命令 set uid ,set gid,sticky bit 说明
- 防止SQL注入攻击,数据库操作类
- 问题:FF中把UL下的LI设为左浮动UL的背景色就没有了?
- HDU1171--Big Event in HDU(多重背包)
- NodeJs-- 新建项目实例
- 百度Apollo 尝试
- [HNOI2015]菜肴制作 拓扑序
- Ubuntu14.04下如何配置固定IP
- 解决eclipse中启动服务内存溢出问题
- Bootstrap学习记录-2.container和table
- java中传值方式的个人理解
- 1.7Oob 继承关系中构造方法的使用
- 推送消息 web push notification
- Altium Designer 小记
- BZOJ 1925 地精部落(DP)
热门文章
- vfs之mount()
- delphi 异形窗体可半透明
- http 请求包含哪几个部分(请求行、请求头、请求体)
- Ubuntu里wine使用fcitx输入法
- error C2065: “CString”: 未声明的标识符 ;fatal error C1189: #error : afxstr.h can only be used in MFC proje
- MySQL-初始化和自动更新TIMESTAMP和DATETIME
- git使用记录六:对commit的message做处理
- Java集合的介绍
- 关于Java序列化你应该知道的一切
- ubuntu 配置php环境