最垃圾的算法,代码简单易懂
import java.util.*;
public class Solution {
    public int miniSpanningTree (int n, int m, int[][] cost) {
        HashSet<Integer> points=new HashSet<>();//不能用int
        int res=0;
        Arrays.sort(cost,0,cost.length,(a,b)-> {
            return a[2]-b[2]; //重载比较,按照边权递增
        });
        res+=cost[0][2];//首先将最小的边加入
        points.add(cost[0][0]);
        points.add(cost[0][1]);
        while(points.size()!=n){
            for(int i=1;i<cost.length;i++){
                //只要不是两者都在集合就行,否则形成环
                if(points.contains(cost[i][0])&&!points.contains(cost[i][1])||!points.contains(cost[i][0])&&points.contains(cost[i][1])){
                    res+=cost[i][2];
                    points.add(cost[i][0]);
                    points.add(cost[i][1]);
                    break;//找到一条边后必须从头开始找
                }
            }
        }
        return res;
    }
}