In this post, we are going to discuss leetcode 1334 — Find the City With the Smallest Number of Neighbors at a Threshold Distance, which is recently asked in Uber interviews.
Problem Analysis
There are
n
cities numbered from0
ton-1
. Given the arrayedges
where represents a bidirectional and weighted edge between cities and , and given the integerdistanceThreshold
.Return the city with the smallest number of cities that are reachable through some path and whose distance is at most
distanceThreshold
, If there are multiple such cities, return the city with the greatest number.Notice that the distance of a path connecting cities i and j is equal to the sum of the edges’ weights along that path.
Example 1:
Input: n = 4, edges = [[0,1,3],[1,2,1],[1,3,4],[2,3,1]], distanceThreshold = 4
Output: 3
Explanation:
The figure above describes the graph.
The neighboring cities at a distanceThreshold = 4 for each city are: City 0 -> [City 1, City 2]
City 1 -> [City 0, City 2, City 3]
City 2 -> [City 0, City 1, City 3]
City 3 -> [City 1, City 2]
Cities 0 and 3 have 2 neighboring cities at a distanceThreshold = 4, but we have to return city 3 since it has the greatest number.