Find the City With the Smallest Number of Neighbors at a Threshold Distance LeetCode solution in Python

1
class Solution:
2
def findTheCity(
3
self, n: int, edges: List[List[int]], distanceThreshold: int
4
) -> int:
5

6
matrix = [[float("inf")] * n for _ in range(n)]
7

8
# initializing the matrix
9
for u, v, w in edges:
10
matrix[u][v] = w
11
matrix[v][u] = w
12

13
for u in range(n):
14
matrix[u][u] = 0
15

16
for k in range(n):
17
for i in range(n):
18
for j in range(n):
19
if matrix[i][j] > matrix[i][k] + matrix[k][j]:
20
matrix[i][j] = matrix[i][k] + matrix[k][j]
21

22
# counting reachable cities(neighbor) for every single city
23
res = [0] * n
24
for i in range(len(matrix)):
25
for j in range(len(matrix[0])):
26
if 0 < matrix[i][j] <= distanceThreshold:
27
res[j] += 1
28
return [i for i, x in enumerate(res) if x == min(res)][-1]

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0