Leetcode-997 Find the Town Judge(找到小镇的法官)

作者水平有限,所发仅为个人愚见,如有明显谬误,望斧正

题目可转化为对于所给正整数N(1≤N≤1000),共有N个节点,编号从1-N。其中"相信"这一概念,可看作是一条连接两节点的有向边。如所给二维vector的trust向量数组,trust[i][0]表示有向边的起点,则trust[i][1]表示有向边的终点。所求为满足以下2个条件的节点:①出度(即题目中的属性1)为0 ②入度(即题目中的属性2)为N-1。当且仅当满足以上两个条件的节点数量为1时,所求问题有解,返回节点编号。当满足以上两个条件的节点数量为0或大于1时,所求问题无解,返回值-1。

对于输入样例

N = 4, trust = [[1,3],[1,4],[2,3],[2,4],[4,3]]

有图                  进而有表

            

 1 #define pb push_back
 2 #define maxSize 3939
 3 #define _for(i,a,b) for(int i = (a);i < (b);i ++)
 4
 5 class Solution
 6 {
 7     public:
 8         int findJudge(int N, vector<vector<int>>& trust)
 9         {
10             int hash[N+1][2];
11             memset(hash,0,sizeof(hash));
12
13             int sz = trust.size();
14             _for(i,0,sz)
15             {
16                 hash[trust[i][0]][0] ++;
17                 hash[trust[i][1]][1] ++;
18             }
19
20             int rnt = -1;
21             _for(i,1,N+1)
22             {
23                 if(hash[i][0]==0&&hash[i][1]==N-1)
24                 {
25                     if(rnt==-1)
26                         rnt = i;
27                     else
28                         return -1;
29                 }
30             }
31             return rnt;
32         }
33 };

Leetcode-997(C++)

执行用时:364ms

原文地址:https://www.cnblogs.com/Asurudo/p/10427849.html

时间: 2024-10-18 04:51:20

Leetcode-997 Find the Town Judge(找到小镇的法官)的相关文章

#Leetcode# 997. Find the Town Judge

https://leetcode.com/problems/find-the-town-judge/ In a town, there are N people labelled from 1 to N.  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 (exc

【Leetcode_easy】997. Find the Town Judge

problem 997. Find the Town Judge 参考 1. Leetcode_easy_997. Find the Town Judge; 完 原文地址:https://www.cnblogs.com/happyamyhope/p/11316973.html

leetcode 997. 找到小镇的法官(Find the Town Judge)

目录 题目描述: 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 解法: 题目描述: 在一个小镇里,按从 1 到 N 标记了 N 个人.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人. 每个人(除了小镇法官外)都信任小镇的法官. 只有一个人同时满足属性 1 和属性 2 . 给定数组 trust,该数组由信任对 trust[i] = [a, b] 组成,表示标记为 a 的人信任标记为 b 的人. 如果小镇存在秘密法官并且可以确定他的身

997.找到小镇的法官

public int findJudge(int N, int[][] trust) { if( N==1 && trust.length==0) { return 1; } if (trust.length != 0) { // arr用于投票记录 int arr[] = new int[10000]; // temp用于记录最大值 //x 记录谁是可能法官 // bol 判断是不是有多个N-1的值 int temp = arr[0]; int x = 1; int bol = 0; /

leetcode997 Find the Town Judge

1 """ 2 In a town, there are N people labelled from 1 to N. There is a rumor that one of these people is secretly the town judge. 3 If the town judge exists, then: 4 The town judge trusts nobody. 5 Everybody (except for the town judge) trus

LeetCode.997-找到镇法官(Find the Town Judge)

这是悦乐书的第373次更新,第400篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第234题(顺位题号是997).在一个城镇,有N个人从1到N标记.有传言说其中一个人是秘密的镇法官. 如果镇法官存在,那么: 镇法官不信任任何人. 每个人(镇法官除外)都信任镇法官. 只有一个人满足前两条. 给定一个trust数组,一对trust[i] = [a,b]表示被标记为a的人信任标记为b的人. 如果镇法官存在并且可以识别,则返回镇法官的标签.否则,返回-1. 例如: 输入:N

LeetCode 162. Find Peak Element (找到峰值)

A peak element is an element that is greater than its neighbors. Given an input array where num[i] ≠ num[i+1], find a peak element and return its index. The array may contain multiple peaks, in that case return the index to any one of the peaks is fi

LeetCode 277. Find the Celebrity (找到明星)$

Suppose you are at a party with n people (labeled from 0 to n - 1) and among them, there may exist one celebrity. The definition of a celebrity is that all the other n - 1 people know him/her but he/she does not know any of them. Now you want to find

LeetCode 1397. Find All Good Strings 找到所有好字符串 (数位DP+KMP)

好题… 就是比平时的 hard 难了一些…… 虽然猜出是数位DP了…不过比我之前做的题,好像多了一维,印象中都是一维记录之前状态就够了……然后就没做出…… 至于 KMP 的应用更是神奇,虽然掌握的 kmp 但是真的想不到…… 窝的代码能力太差了……总归是学到了……希望下次能做出来吧…… 参考题解 https://leetcode-cn.com/problems/find-all-good-strings/solution/shu-wei-dp-kmp-by-qodjf/ 国服现在好多大神…题解写