Skip to content

Commit c48e797

Browse files
authored
Create find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance.py
1 parent f0246c7 commit c48e797

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Time: O(n^3)
2+
# Space: O(n^2)
3+
4+
class Solution(object):
5+
def findTheCity(self, n, edges, distanceThreshold):
6+
"""
7+
:type n: int
8+
:type edges: List[List[int]]
9+
:type distanceThreshold: int
10+
:rtype: int
11+
"""
12+
dist = [[float("inf")]*n for _ in xrange(n)]
13+
for i, j, w in edges:
14+
dist[i][j] = dist[j][i] = w
15+
for i in xrange(n):
16+
dist[i][i] = 0
17+
for k in xrange(n):
18+
for i in xrange(n):
19+
for j in xrange(n):
20+
dist[i][j] = min(dist[i][j], dist[i][k]+dist[k][j])
21+
result = {sum(d <= distanceThreshold for d in dist[i]): i for i in xrange(n)}
22+
return result[min(result.iterkeys())]

0 commit comments

Comments
 (0)