Count shortest paths
Given n nodes (0..n-1) and a list of bidirectional roads [u, v, time] with positive integer travel times, count the number of distinct shortest paths (by total time) from node 0 to node n-1. Return the count modulo 1_000_000_007. If node n-1 is unreachable, return 0. The path from 0 to 0 (when n == 1) counts as 1.
Implement
count_shortest_paths(n: int, roads: list[list[int]]) → intExamples
in
[4,[[0,1,1],[0,2,1],[1,3,1],[2,3,1]]]out2What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 35 min
solution.py
InputExpectedGot
[4,[[0,1,1],[0,2,1],[1,3,1],[2,3,1]]]2not run yetsample