Skip to content

Commit e6cac02

Browse files
williamfisetclaude
andcommitted
Rewrite UnionFind find to use early-return == style
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 10870a2 commit e6cac02

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

src/main/java/com/williamfiset/algorithms/graphtheory/Boruvkas.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,10 @@ public UnionFind(int n) {
172172
}
173173

174174
public int find(int p) {
175-
if (id[p] != p) {
176-
id[p] = find(id[p]);
175+
if (id[p] == p) {
176+
return p;
177177
}
178-
return id[p];
178+
return id[p] = find(id[p]);
179179
}
180180

181181
public void union(int p, int q) {

src/main/java/com/williamfiset/algorithms/graphtheory/ConnectedComponentsUnionFind.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,10 @@ private static class UnionFind {
137137
}
138138

139139
int find(int p) {
140-
if (id[p] != p) {
141-
id[p] = find(id[p]);
140+
if (id[p] == p) {
141+
return p;
142142
}
143-
return id[p];
143+
return id[p] = find(id[p]);
144144
}
145145

146146
void union(int p, int q) {

0 commit comments

Comments
 (0)