1 Star 1 Fork 0

把实验报告投到ECIR/High Performance Utils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
UnionUtil.java 1.28 KB
一键复制 编辑 原始数据 按行查看 历史
把实验报告投到ECIR 提交于 2022-11-19 03:00 . update UnionUtil.java.
class UnionUtil{
Map<Integer, Integer> eleLeaderMap = new HashMap<>();
int unionCount = 0;
public int getUnionCount(){
return unionCount;
}
public void addIfNotExist(Integer ele){
if(!eleLeaderMap.containsKey(ele)){
eleLeaderMap.put(ele, ele);
unionCount++;
}
}
public Integer getLeader(Integer ele){
if(ele != null){
Integer leader = eleLeaderMap.get(ele);
if(ele.equals(leader)){
return ele;
}
else{
Integer finalLeader = getLeader(leader);
eleLeaderMap.put(ele, finalLeader);
return finalLeader;
}
}
return null;
}
public boolean union(Integer eleA, Integer eleB){
addIfNotExist(eleA);
addIfNotExist(eleB);
Integer eleALeader = getLeader(eleA), eleBLeader = getLeader(eleB);
if(!eleALeader.equals(eleBLeader)){
eleLeaderMap.put(eleALeader, eleBLeader);
unionCount--;
return true;
}
return false;
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ZTZTZT123/High-Performance-Utils.git
git@gitee.com:ZTZTZT123/High-Performance-Utils.git
ZTZTZT123
High-Performance-Utils
High Performance Utils
master

搜索帮助