5211. 概率最大的路径(197)
Posted yonezu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5211. 概率最大的路径(197)相关的知识,希望对你有一定的参考价值。
class Solution { public double maxProbability(int n, int[][] edges, double[] succProb, int start, int end) { Map<Integer,List<Node>> map = new HashMap<>(); for(int i = 0; i < edges.length; i++) { map.computeIfAbsent(edges[i][0],k->new ArrayList<>()).add(new Node(edges[i][1],succProb[i])); map.computeIfAbsent(edges[i][1],k->new ArrayList<>()).add(new Node(edges[i][0],succProb[i])); } Queue<Node> queue = new PriorityQueue<>((o1,o2)->Double.compare(o2.pro,o1.pro)); queue.add(new Node(start,1.0)); boolean[] st = new boolean[n]; while(!queue.isEmpty()) { Node cur = queue.poll(); if(cur.node == end) return cur.pro; if(!st[cur.node]) { st[cur.node] = true; List<Node> list = map.get(cur.node); if(list == null) continue; for(Node nn : list) { queue.add(new Node(nn.node,nn.pro*cur.pro)); } } } return 0; } } class Node { int node; double pro; public Node (int n, double p) { node = n; pro = p; } }
以上是关于5211. 概率最大的路径(197)的主要内容,如果未能解决你的问题,请参考以下文章