mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 03:33:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>There are <code>n</code> cities numbered from <code>0</code> to <code>n-1</code>. Given the array <code>edges</code> where <code>edges[i] = [from<sub>i</sub>, to<sub>i</sub>, weight<sub>i</sub>]</code> represents a bidirectional and weighted edge between cities <code>from<sub>i</sub></code> and <code>to<sub>i</sub></code>, and given the integer <code>distanceThreshold</code>.</p>
 | 
						|
 | 
						|
<p>Return the city with the smallest number of cities that are reachable through some path and whose distance is <strong>at most</strong> <code>distanceThreshold</code>, If there are multiple such cities, return the city with the greatest number.</p>
 | 
						|
 | 
						|
<p>Notice that the distance of a path connecting cities <em><strong>i</strong></em> and <em><strong>j</strong></em> is equal to the sum of the edges' weights along that path.</p>
 | 
						|
 | 
						|
<p> </p>
 | 
						|
<p><strong class="example">Example 1:</strong></p>
 | 
						|
<img alt="" src="https://assets.leetcode.com/uploads/2020/01/16/find_the_city_01.png" style="width: 300px; height: 225px;" />
 | 
						|
<pre>
 | 
						|
<strong>Input:</strong> n = 4, edges = [[0,1,3],[1,2,1],[1,3,4],[2,3,1]], distanceThreshold = 4
 | 
						|
<strong>Output:</strong> 3
 | 
						|
<strong>Explanation: </strong>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.
 | 
						|
</pre>
 | 
						|
 | 
						|
<p><strong class="example">Example 2:</strong></p>
 | 
						|
<img alt="" src="https://assets.leetcode.com/uploads/2020/01/16/find_the_city_02.png" style="width: 300px; height: 225px;" />
 | 
						|
<pre>
 | 
						|
<strong>Input:</strong> n = 5, edges = [[0,1,2],[0,4,8],[1,2,3],[1,4,2],[2,3,1],[3,4,1]], distanceThreshold = 2
 | 
						|
<strong>Output:</strong> 0
 | 
						|
<strong>Explanation: </strong>The figure above describes the graph. 
 | 
						|
The neighboring cities at a distanceThreshold = 2 for each city are:
 | 
						|
City 0 -> [City 1] 
 | 
						|
City 1 -> [City 0, City 4] 
 | 
						|
City 2 -> [City 3, City 4] 
 | 
						|
City 3 -> [City 2, City 4]
 | 
						|
City 4 -> [City 1, City 2, City 3] 
 | 
						|
The city 0 has 1 neighboring city at a distanceThreshold = 2.
 | 
						|
</pre>
 | 
						|
 | 
						|
<p> </p>
 | 
						|
<p><strong>Constraints:</strong></p>
 | 
						|
 | 
						|
<ul>
 | 
						|
	<li><code>2 <= n <= 100</code></li>
 | 
						|
	<li><code>1 <= edges.length <= n * (n - 1) / 2</code></li>
 | 
						|
	<li><code>edges[i].length == 3</code></li>
 | 
						|
	<li><code>0 <= from<sub>i</sub> < to<sub>i</sub> < n</code></li>
 | 
						|
	<li><code>1 <= weight<sub>i</sub>, distanceThreshold <= 10^4</code></li>
 | 
						|
	<li>All pairs <code>(from<sub>i</sub>, to<sub>i</sub>)</code> are distinct.</li>
 | 
						|
</ul>
 |