NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
```java package ds.impl; import ds.UF; public class QuickFindUF implements UF { private final int[] id; private int size; public QuickFindUF(int n) { size = n; id = new int[n]; for (int i = 0; i < n; i++) { id[i] = i; } } @Override public int size() { return size; } @Override public int find(int p) { validate(p, id.length); return id[p]; } @Override public boolean connected(int p, int q) { validate(p, id.length); validate(q, id.length); return id[p] == id[q]; } @Override public void union(int p, int q) { validate(p, id.length); validate(q, id.length); int pID = id[p]; int qID = id[q]; if (pID == qID) { return; } for (int i = 0; i < id.length; i++) { if (id[i] == pID) { id[i] = qID; } } size--; } } ```