ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

leetcode 743 (Dijkstra Algorithm)

2021-06-30 19:32:14  阅读:326  来源: 互联网

标签:distance 743 cur int Dijkstra pq output new leetcode


Solution for leetcode 743

class Solution {
    public int networkDelayTime(int[][] times, int n, int k) {
        Map<Integer, ArrayList<int[]>> map = new HashMap();
        for(int i = 0; i < times.length; i++){
            int from = times[i][0];
            ArrayList<int[]> cur = map.getOrDefault(from,new ArrayList());
            cur.add(new int[]{times[i][1], times[i][2]});
            map.put(from, cur);
        }
        int[] distance = new int[n + 1];
        boolean[] visited = new boolean[n + 1];
        Arrays.fill(distance, Integer.MAX_VALUE);
        PriorityQueue<Integer> pq = new PriorityQueue<>((o1,o2) -> distance[o1] - distance[o2]);
        pq.offer(k);
        distance[k] = 0;
        distance[0] = 0;
        while(!pq.isEmpty()){
            int cur = pq.poll();
            if(visited[cur]){
                continue;
            }
            visited[cur] = true;
            List<int[]> list = map.getOrDefault(cur, new ArrayList());
            for(int[] arr : list){
                int next = arr[0];
                int dis = distance[cur] + arr[1];
                distance[next] = Math.min(dis , distance[next]);
                pq.offer(next);
                
            } 
        }
        int output = Integer.MIN_VALUE;
        for(int i = 0; i < n + 1; i++){
            output = Math.max(output, distance[i]); 
        }
        return output == Integer.MAX_VALUE ? -1 : output;
    }
}

标签:distance,743,cur,int,Dijkstra,pq,output,new,leetcode
来源: https://blog.csdn.net/weixin_41917137/article/details/118367655

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有