Changed extension in parsing test data (jet -> kt)
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
class UnionFind {
|
||||
private val data = IMutableList<Int>()
|
||||
|
||||
fun add() : Int {
|
||||
val size = data.size
|
||||
data.add(size)
|
||||
size
|
||||
}
|
||||
|
||||
private fun parent(x : Int) : Int {
|
||||
val p = data[x];
|
||||
if (p == x) {
|
||||
return x;
|
||||
}
|
||||
val result = parent(p);
|
||||
data[x] = result;
|
||||
}
|
||||
|
||||
fun union(a : Int, b : Int) {
|
||||
val pa = parent(a)
|
||||
val pb = parent(b)
|
||||
if (pa != pb) {
|
||||
if (Random.nextInt().isOdd) {
|
||||
data[pb] = pa
|
||||
} else {
|
||||
data[pa] = pb
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val Int.isOdd : Boolean
|
||||
get() = this % 2 != 0
|
||||
Reference in New Issue
Block a user