给您一个N节点网络,标记为1至n。您还会有时间,按定向边缘时间[i,vi,wi)的旅行时间列表,其中ui是源是目标节点,而wi是信号从源到目标的信号所需的时间。
我们将从给定的节点k发送信号。返回所有n个节点接收信号所需的时间。如果所有n个节点都无法接收信号,请返回,
示例1:
示例2:
示例3:
笔记:
根据意图,给出了一个由N节点组成的网络,从1到n标签。它还给出了带有城镇的旅行时间列表,Times [i] =(ui,vi,wi)。其中,UI是源节点,VI是一个目标节点,WI是信号所需的时间。
您需要从给定的节点k. return所有n个节点接收信号所需的时间。如果所有n个节点接收信号,请返回-1。
这个问题是Dijkstra算法的非常经典的模型。如果要解决这个问题,则应解决类似的问题。实际上,Dijkstra算法本质上是BFS +优先级队列的问题,因为正常BFS实际上是重量,重量是重量是重量是重量。图中的权重显然不一定是1,因此您需要将最短的距离从源点到优先级排名最短距离的最短距离。可以参考这个大个子的解释,这很容易理解。
时间复杂度为O(ELOGE),空间复杂性为O(E),E是边数。
https://leetcode.com/prblems/network-dlay time/
您的支持是我最大的动力
原始:https://juejin.cn/post/70985144400666976293