![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路径算法
996冲冲冲
这个作者很懒,什么都没留下…
展开
-
LC1334. 阈值距离内邻居最少的城市
弗洛伊德算法,把所有节点之间的最短距离算出来。之后统计每个节点在阈值内可以到达的其他节点数,返回最小的哪个就是答案def findTheCity(self, n, edges, distanceThreshold): INTMAX = 0x3f3f3f3f mp = [[INTMAX]*n for i in range(n)] for x,y,t in edges: #建立邻接表原创 2022-05-19 17:10:59 · 88 阅读 · 0 评论 -
LC1368. 使网格图至少有一条有效路径的最小代价
这题可以转化为路径问题的原因是,我们把每个格点当作一个节点,每个节点有上下左右四个路径。如果当前节点中指示的路径和我们将要移动的路径相同那么就不用加1,如果不同就要加1.(具体做法是把上下左右四个方向和下标i对应,之后比较i和当前节点中的路径方向。)之后更新队列,把距离更短的加入队列。最后根据最短路径算法就可以得到答案。def minCost(self, grid): """ :type grid: List[List[int]] :rtype: int原创 2022-05-19 14:31:40 · 124 阅读 · 0 评论 -
LC743. 网络延迟时间
弗洛伊德算法def networkDelayTime(self, times, n, k): """ :type times: List[List[int]] :type n: int :type k: int :rtype: int """ INTMAX = 0x3f3f3f3f graph = [[INTMAX]*n for i in range(n)] fo原创 2022-05-02 17:08:54 · 345 阅读 · 0 评论