zoukankan      html  css  js  c++  java
  • leetcode——743.网络延迟时间

    private final static int MAXVALUE = 1000;
        public int networkDelayTime(int[][] times, int N, int K) {
            boolean[] visited = new boolean[N+1];
    
            int[][] time = new int[N+1][N+1];
            //在更新时间之前,要先把每一个路径上的时间都初始化为MAXVALUE
            for(int[] row:time){
                //如何填充整个数组的值来着????
                Arrays.fill(row,MAXVALUE);
            }
            for(int i = 0;i<times.length;i++){
                time[times[i][0]][times[i][1]] = times[i][2];      //邻接矩阵更新完毕
            }
            //接下来就是更新并寻找最短路径了
            int minIndex = K;
            visited[K] = true;
            int[] path = new int[N+1];
            for(int i = 1;i<N+1;i++){
                path[i]  = time[K][i];//存储K点到其他个点的距离,即time[K][i]
            }
            path[K] = 0;
            for(int i = 1;i<N+1;i++){
                int min = MAXVALUE;
                for(int j = 1;j<N+1;j++){
                    if(!visited[j] && path[j]<min){
                        min = path[j];
                        minIndex = j;
                    }
                }
                visited[minIndex] = true;
                for(int j = 1;j<N+1;j++){
                    if(!visited[j] && (min + time[minIndex][j] < path[j])){
                        path[j] = min + time[minIndex][j];
                    }
                }
            }
            int dis = 0;
            for(int i = 1;i<N+1;i++){
                if(path[i] == MAXVALUE){
                    return -1;
                }
                dis = Math.max(dis,path[i]);
            }
            return dis;
        }

    我还是一时没反应过来应该用迪杰斯特拉算法求最短路径的,看了别人的答案然后自己又写了一遍,好歹算是顺利,对迪杰斯特拉算法的理解又更加深了一次……

    ——2020.6.18

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    如何选择Linux操作系统版本?
    js+html实现玫瑰花绽放
    Linux系统目录结构
    laravel5.6操作数据curd写法(查询构建器)
    laravel5.6 常规框架部署和配置文件说明
    PHP读取XML文件数据获取节点值
    Fiddler正则匹配调试接口示例
    php常用端口号
    php heredoc的用法详解
    oracle表空间操作
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/13167812.html
Copyright © 2011-2022 走看看