dis数组含义:dis[i]表示源点到点i的最短路径 第二题可以使用bellman-ford算法先求的dis,然后对dis数组元素进行判断,来推断是否可以从这个点到达所有的点,如果可以到达;则对权值取相反数,然后按照第一步的思路求最短路径,此时的最短路径的相反数就是原题的最大路径? 想问一下这个思路是否是正确的? 如果源输入当中本身就存在负的权值这个结论应该也是成立的吧 我贴一下求单源最短路径的bellman ford算法的goalng实现 func findShortestPath( n int ,  m int ,  graph [][]int ) int {     // 由于我们求得是 1->n 的最短路径     dis := make([]int, n)     // 我们初始化 dis的 dis[0] = 0     // write code here     for i:=0; i<n; i++{         dis[i] = 1000*(n-1)     }     dis[0] = 0     // 然后我们开始v-1次松弛操作     for i:=0; i< n-1; i++{         for j:=0; j<m; j++{             if dis[graph[j][0]-1]+graph[j][2] < dis[graph[j][1]-1] {                 dis[graph[j][1]-1] = dis[graph[j][0]-1]+graph[j][2]             }         }     }     // after before operations     return dis[n-1] } 改成最大路径 修改部分1: if dis[graph[j][0]-1]+graph[j][2]*(-1) < dis[graph[j][1]-1]                          dis[graph[j][1]-1] = dis[graph[j][0]-1]+graph[j][2]*(-1) 修改部分2:return dis[n-1]*(-1)