This commit is contained in:
parent
9659e510f0
commit
87d3129bde
1 changed files with 22 additions and 0 deletions
22
medium/shortest_distance_after_road_addition_queries_i.py
Normal file
22
medium/shortest_distance_after_road_addition_queries_i.py
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# https://leetcode.com/problems/shortest-distance-after-road-addition-queries-i
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
class Solution:
|
||||||
|
def shortestDistanceAfterQueries(self, n: int, queries: List[List[int]]) -> List[int]:
|
||||||
|
road = [[i + 1] for i in range(n - 1)]
|
||||||
|
result = []
|
||||||
|
def recurse(memo, curr = 0):
|
||||||
|
if curr >= n -1:
|
||||||
|
return 0
|
||||||
|
if memo[curr] != -1:
|
||||||
|
return memo[curr]
|
||||||
|
memo[curr] = min(n, *[recurse(memo, dest) + 1 for dest in road[curr]])
|
||||||
|
return memo[curr]
|
||||||
|
|
||||||
|
for [start, end] in queries:
|
||||||
|
memo = [-1] * (n -1)
|
||||||
|
road[start].append(end)
|
||||||
|
result.append(recurse(memo))
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue