Minimum Cost to Reach Destination in Time LeetCode solution in Python
1class Solution:2def minCost(3self, maxTime: int, edges: List[List[int]], passingFees: List[int]4) -> int:5"""6Time: O((m+n)* maxtime), where m is length of edges7Space: O(n*maxtime)8"""9n = len(passingFees)10dp = [[math.inf] * (n) for _ in range(maxTime + 1)]11dp[0][0] = passingFees[0]1213ans = math.inf14for k in range(1, maxTime + 1):15for x, y, time in edges:16if k >= time:17# dual direction18dp[k][y] = min(dp[k][y], dp[k - time][x] + passingFees[y])19dp[k][x] = min(dp[k][x], dp[k - time][y] + passingFees[x])2021ans = min(ans, dp[k][n - 1])2223if ans == math.inf:24return -125return ans