描述
一个有 nn 户人家的村庄,有 mm 条路相互连接着。村里现在要修路,每条路都有一个成本价格,现在请你帮忙计算下,最少需要花费多少钱,就能让这 nn 户人家连接起来。
costcost 为一个二维数组,每个元素是一个长度为 3 的一维数组 aa , a[0]a[0] 和 a[1]a[1] 表示村庄 a[0]a[0] 和村庄 a[1]a[1] 有一条路,修这条路的成本价格为 a[2]a[2] .
图中无自环,可能有重边。
prime算法
- 加入任意一结点a
- 加入与a连接的所有路径中权值最小的点
- 新加入的点看作a,重复步骤2,直到所有的点加入树
import java.util.*;
public class Solution {
public int miniSpanningTree (int n, int m, int[][] cost) {
if(n == 0){
return 0;
}
int[][] graph = new int[n+1][n+1];
for(int i=1;i<=n;++i){