这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
// isPrime[3]=0,表示数字3是素数,isPrime[4]=1,表示数字4不是素数
private static int[] isPrime = new int[100001];
// 0-100001之间所有的素数都放入这里
private static int[] primes = new int[100001];
// 素数的数量,也就是primes中有效数据的长度
private static int primeNum = 0;
static {
// 欧拉筛
for(int i=2;i
// 对数组中的每个数,算出所有质因数,构建map
for (int i=0;i new ArrayList()).add(i);
// 要从cur中将primes[j]有关的倍数全部剔除,才能检查下一个素数
while (cur%primes[j]==0) {
cur /= primes[j];
}
}
}
// 能走到这里依然不等于1,是因为for循环中的primes[j]*primes[j]1) {
map.computeIfAbsent(cur, key -> new ArrayList()).add(i);
}
}
package practice;
import java.util.*;
/**
* @program: leetcode
* @description:
* @author: za2599@gmail.com
* @create: 2022-06-30 22:33
**/
public class Solution {
// 并查集的数组, fathers[3]=1的意思是:数字3的父节点是1
// int[] fathers = new int[100001];
int[] fathers;
// 并查集中,每个数字与其子节点的元素数量总和,rootSetSize[5]=10的意思是:数字5与其所有子节点加在一起,一共有10个元素
// int[] rootSetSize = new int[100001];
int[] rootSetSize;
// map的key是质因数,value是以此key作为质因数的数字
// 例如题目的数组是[4,6,15,35],对应的map就有四个key:2,3,5,7
// key等于2时,value是[4,6],因为4和6的质因数都有2
// key等于3时,value是[6,15],因为6和16的质因数都有3
// key等于5时,value是[15,35],因为15和35的质因数都有5
// key等于7时,value是[35],因为35的质因数有7
Map> map = new HashMap();
// 用来保存并查集中,最大树的元素数量
int maxRootSetSize = 1;
// isPrime[3]=0,表示数字3是素数,isPrime[4]=1,表示数字4不是素数
private static int[] isPrime = new int[100001];
// 0-100001之间所有的素数都放入这里
private static int[] primes = new int[100001];
// 素数的数量,也就是primes中有效数据的长度
private static int primeNum = 0;
static {
// 欧拉筛
for(int i=2;i new ArrayList()).add(i);
// 要从cur中将primes[j]有关的倍数全部剔除,才能检查下一个素数
while (cur%primes[j]==0) {
cur /= primes[j];
}
}
}
// 能走到这里依然不等于1,是因为for循环中的primes[j]*primes[j]1) {
map.computeIfAbsent(cur, key -> new ArrayList()).add(i);
}
}
fathers = new int[nums.length];
rootSetSize = new int[nums.length];
// 至此,map已经准备好了,接下来是并查集的事情,先要初始化数组
for(int i=0;i list = map.get(key);
int size = list.size();
// 超过1个元素才有必要合并
if (size>1) {
// 取第0个元素作为父节点
int parent = list.get(0);
// 将其他节点全部作为地0个元素的子节点
for(int i=1;i
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
学习路上,你不孤单,欣宸原创一路相伴...05086920)
参与评论
手机查看
返回顶部