瀏覽代碼

Another May problem done, 99 done total

master
Lachlan Jacob 5 年之前
父節點
當前提交
a0002ac816
共有 3 個檔案被更改,包括 85 行新增0 行删除
  1. 33
    0
      problems/997/main.py
  2. 49
    0
      problems/997/problem.txt
  3. 3
    0
      problems/997/run.sh

+ 33
- 0
problems/997/main.py 查看文件

@@ -0,0 +1,33 @@
class TrustItem:
def __init__(self):
self.marked = False
self.trustees = 0

class Solution:
def findJudge(self, N, trust):
if (len(trust) == 0):
return 1
trust_results = dict()
# add to hm key for trusted member
# mark a key if it trusts someone
for t in trust:
if t[0] not in trust_results:
trust_results[t[0]] = TrustItem()
trust_results[t[0]].marked = True
if t[1] not in trust_results:
trust_results[t[1]] = TrustItem()
trust_results[t[1]].trustees += 1
for key, value in trust_results.items():
if not value.marked and value.trustees == N - 1:
return key
return -1

s = Solution()
print("Expected: 2")
print("Got:", s.findJudge(2, [[1, 2]]))

+ 49
- 0
problems/997/problem.txt 查看文件

@@ -0,0 +1,49 @@
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 (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 pairs trust[i] = [a, b] representing that the person labelled a trusts the person labelled b.

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: 2

Example 2:

Input: N = 3, trust = [[1,3],[2,3]]
Output: 3

Example 3:

Input: N = 3, trust = [[1,3],[2,3],[3,1]]
Output: -1

Example 4:

Input: N = 3, trust = [[1,2],[2,3]]
Output: -1

Example 5:

Input: N = 4, trust = [[1,3],[1,4],[2,3],[2,4],[4,3]]
Output: 3


Note:

1 <= N <= 1000
trust.length <= 10000
trust[i] are all different
trust[i][0] != trust[i][1]
1 <= trust[i][0], trust[i][1] <= N


+ 3
- 0
problems/997/run.sh 查看文件

@@ -0,0 +1,3 @@
#!/bin/bash

python3 main.py

Loading…
取消
儲存