当前位置: 首页 > news >正文

997. 找到小镇的法官(24.9.22)

题目

小镇里有 n 个人,按从 1n 的顺序编号。传言称这些人中有一个暗地里是小镇法官。如果小镇法官真的存在,那么:

  1. 小镇法官不会信任任何人。
  2. 每个人(除了小镇法官)都信任这位小镇法官。
  3. 只有一个人同时满足属性 1 和属性 2。

给出一个数组 trust,其中 trust[i]=[a_i,b_i] 表示编号为 a_i 的人信任编号为 b_i 的人。如果小镇法官存在并且可以确定他的身份,请返回该法官的编号;否则,返回 -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

提示:

  1. 1 ≤ n ≤ 1000 1\leq n\leq1000 1n1000
  2. 0 ≤ t r u s t . l e n g t h ≤ 1 0 4 0\leq trust.length\leq10^{4} 0trust.length104
  3. trust[i].length == 2,且 trust 中的所有 trust[i]=[a_i,b_i] 互不相同。
  4. 1 ≤ a i , b i ≤ n 1\leq a_i,b_i\leq n 1ai,bin,且 a i ≠ b i a_i\neq b_i ai=bi

解题思路

根据题目意思得出法官拥有两种特点,一是不信任任何人,二是被所有人信任,那么我们假设一共有n人,那么法官对应的信任的人为0,被n-1个人信任,那么我们只需要统计各自的信任的人数和被信任的人数。

代码

class Solution {
public:int findJudge(int n, vector<vector<int>>& trust) {vector<int> to_trust(n+1);//信任他人vector<int> from_trust(n+1);//来自他人的新人for(vector<int> num:trust){from_trust[num[1]]++;to_trust[num[0]]++;}for(int i=1;i<=n;i++){if(from_trust[i]==n-1&&to_trust[i]==0)return i;}return -1;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • docker 镜像,导入导出,
  • Springboot常见问题(bean找不到)
  • 分享课程:云LAN到家视频教程
  • WebServer
  • 系统架构笔记-4-信息安全技术基础知识
  • Innodb内存结构
  • LeetCode讲解篇之1343. 大小为 K 且平均值大于等于阈值的子数组数目
  • C++门迷宫
  • 网络安全-shire写任务计划、反弹shell、写私钥、反序列化
  • TikTokDownloader 开源项目操作教程
  • Koa (下一代web框架) 【Node.js进阶】
  • Spring Mybatis 基本使用 总结
  • [数据集][目标检测]智慧养殖场肉鸡健康状态检测数据集VOC+YOLO格式4657张2类别
  • 基于centos7.9搭建SFTP服务
  • 【机器学习随笔】PCA降维与SVD
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • js继承的实现方法
  • Leetcode 27 Remove Element
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Map集合、散列表、红黑树介绍
  • Puppeteer:浏览器控制器
  • Twitter赢在开放,三年创造奇迹
  • vagrant 添加本地 box 安装 laravel homestead
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 给新手的新浪微博 SDK 集成教程【一】
  • ------- 计算机网络基础
  • 前端临床手札——文件上传
  • 新版博客前端前瞻
  •  一套莫尔斯电报听写、翻译系统
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​批处理文件中的errorlevel用法
  • $nextTick的使用场景介绍
  • ( 10 )MySQL中的外键
  • (27)4.8 习题课
  • (c语言)strcpy函数用法
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (初研) Sentence-embedding fine-tune notebook
  • (力扣题库)跳跃游戏II(c++)
  • (三十五)大数据实战——Superset可视化平台搭建
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (原创)可支持最大高度的NestedScrollView
  • (转) ns2/nam与nam实现相关的文件
  • (转)Oracle 9i 数据库设计指引全集(1)
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 解决重复提交问题
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @SpringBootConfiguration重复加载报错