leetcode997. 找到小镇的法官

这篇具有很好参考价值的文章主要介绍了leetcode997. 找到小镇的法官。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小镇里有 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

思路:
1、统计小镇上所有人的出度和入度,信任其他人相当于出度数,被别人信任等于入度数。
2、法官就是不信任任何人出度为0,被所有其他人信任入度为n-1那位。文章来源地址https://www.toymoban.com/news/detail-421569.html

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int findJudge(int n, vector<vector<int>>& trust) {
	vector<int> indegree(n);
	vector<int> outdegree(n);
	for (int i = 0; i < trust.size(); i++)
	{
		outdegree[trust[i][0] -1]++;//统计法官出度,法官代号从1开始,减1等于下标
		indegree[trust[i][1] -1]++;
	}
	for (int i = 0; i < n; i++)
	{
		if (outdegree[i] == 0 && indegree[i] == n - 1) //法官是满足条件出度为0,入度等于人数-1那位
		{
			return i + 1;//下标从0开始,+1等于法官代号
		}
	}
	return -1;
}
int main() {
	vector<vector<int>> trust{ {1,3},{2,3} };
	int n = 3;
	int res = findJudge(3, trust);
	cout << res << endl;
	return 0;
}

到了这里,关于leetcode997. 找到小镇的法官的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode:658. 找到 K 个最接近的元素 - Python

    658. 找到 K 个最接近的元素 问题描述: 给定一个 排序好 的数组 arr ,两个整数 k 和 x ,从数组中找到最靠近 x (两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。 整数 a 比整数 b 更接近 x 需要满足: |a - x| |b - x| 或者 |a - x| == |b - x| 且 a b 示例 1: 输入:arr =

    2024年02月08日
    浏览(24)
  • 前缀和+单调双队列+贪心:LeetCode2945:找到最大非递减数组的长度

    C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 单调双队列 贪心 给你一个下标从 0 开始的整数数组 nums 。 你可以执行任意次操作。每次操作中,你需要选择一个 子数组 ,并将这个子数组用它所包含元素的 和 替换。比方说,给定数组是 [1,3,

    2024年02月03日
    浏览(24)
  • 主审法官谈首例AI生成图侵权案:判决激励大家用新工具创作

    主审法官朱阁认为, 判决考虑了对新兴产业的影响。如果利用AI大模型产生的内容一概不是作品,那么对于行业来说将会是打击,判决鼓励用户使用AI大模型创作。当工具越来越多样,越来越好用,便能推动产业的发展。 “此次判决是在既有法律框架之下,对利用AI绘画生成

    2024年01月18日
    浏览(62)
  • java https安全传输,997页手淘网络安全面试真题解析火爆全网

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新网络安全全套学习资料》

    2024年04月29日
    浏览(29)
  • 智慧小镇解决方案-最新全套文件

    智慧小镇,是指在城镇发展过程中,在城镇基础设施、资源环境、社会民生、经济产业、市政治理等领域中,充分利用物联网、互联网、云计算、IT、智能分析等技术手段,对城市居民生活工作、企业经营发展和政府行政管理过程中的相关活动,进行智慧地感知、分析、集成

    2024年02月01日
    浏览(39)
  • 个人练习-Leetcode-1024. Video Stitching

    题目链接:https://leetcode.cn/problems/video-stitching/ 题目大意:给出一个视频长度 time ,再给出一串 clips[][] 每个clip中 clip[0] 代表起始时间, clip[1] 代表结束时间。求能够覆盖 [0, time] 的所需的最小clip数。 思路:贪心算法。用 farest[i] 代表以 i 位置为起始时间能够到达的最远的结束

    2023年04月08日
    浏览(23)
  • LeetCode 第 388 场周赛个人题解

    目录 100233. 重新分装苹果 原题链接 思路分析 AC代码 100247. 幸福值最大化的选择方案 原题链接 思路分析 AC代码 100251. 数组中的最短非公共子字符串 原题链接 思路分析 AC代码 100216. K 个不相交子数组的最大能量值 原题链接 思路分析 AC代码 100233. 重新分装苹果 直接模拟 降序排

    2024年03月15日
    浏览(49)
  • Leetcode hot100题 个人整理版

    给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 给定两个大小分别为 m m m 和 n

    2024年02月11日
    浏览(34)
  • LeetCode 第385场周赛个人题解

    目录 100212. 统计前后缀下标对 I 原题链接 题目描述 接口描述 思路分析 代码详解 100229. 最长公共前缀的长度 原题链接 题目描述 接口描述 思路分析 代码详解 100217. 出现频率最高的素数 原题链接 题目描述 接口描述 思路分析 代码详解 100212. 统计前后缀下标对 II 原题链接 题目

    2024年02月19日
    浏览(30)
  • 【排列组合】个人练习-Leetcode-62. Unique Paths

    题目链接:https://leetcode.cn/problems/unique-paths/ 题目大意:一个机器人从 m*n 的矩阵的左上角出发,目的地是右下角,每次只能向下或向右移动一格,求不同的路径的数量。 思路:就是排列组合。矩阵是 m*n ,实际上就是向下走 m-1 步,向右走 n-1 步,有多少种走法。 或者更简化

    2024年02月01日
    浏览(77)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包