题解 | #单源最短路-Dijkstra算法#

单源最短路

https://www.nowcoder.com/practice/9f15b34a2a944a7798a5340ff0dba8b7

    int findShortestPath(int nint mvector<vector<int> >& graph) {

        vector<vector<int> >G(n,vector<int>(n,INT32_MAX));
        
//重边害死菜鸡本尊,两个顶点有多条有向边时,用短边
        for(int i=0;i<m;i++)
            G[(graph[i][0]-1)][(graph[i][1]-1)]=min(graph[i][2],G[(graph[i][0]-1)][(graph[i][1]-1)]);

        for(int i=0;i<n;i++) G[i][i]=0;

        vector<intdist(n,INT32_MAX);

        for(int i=0;i<n;i++) dist[i] = G[0][i];

        for(int i=1;i<n;i++) 
            for(int j=1;j<n;j++)
                if(dist[i]!=INT32_MAX&&G[i][j]!=INT32_MAX)
                    dist[j] = min(dist[j],dist[i]+G[i][j]);

        //for(int i:dist) cout<<"dist[i]:"<<i<<endl;

        return dist[n-1]==INT32_MAX?-1:dist[n-1];
        // write code here
    }
全部评论

相关推荐

霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务