LeetCode 筆記 - 2642. Design Graph With Shortest Path Calculator
本文實作了 LeetCode 第 2642 題,重點在於如何在帶權重的圖形(Graph)中計算最短路徑。作者詳細介紹了 Dijkstra 演算法的應用,並分享了如何透過快取技術來提升連續查詢的效率。這對於準備軟體工程師面試、強化圖形演算法基礎的讀者極具參考價值。
題目在此 2642. Design Graph With Shortest Path Calculator
給定一個 Graph 與每個邊的方向與權重,指定一個 node 計算出訊號抵達所有 node 的時間。
解題思維
名詞解說:
這題就是要你實作 Dijkstra’s algorithm,難點是在於需要實作完之後,再加上一些快取方式來應對連續的存取。
如果你還沒有實作過 Dijkstra’s algorithm,可以先解解看 743. Network Delay Time 這題,這題是簡單經典版。
可以自己多做幾次,熟悉一下 Dijkstra’s algorithm 的實作方式,因為這個演算法在面試中出現的機率很高。
程式碼
1 | class Graph: |
