Minor opt.
Change-Id: Id25e6987382144228afebe661d0b4bdd576b9d6d
This commit is contained in:
parent
946048f3f1
commit
bfee59402e
@ -183,7 +183,7 @@ fun main() {
|
||||
}
|
||||
val disBricks = bricks.filterNot { it.onTopBricks.all { it.uponBricks.size != 1 } }
|
||||
val safeBricks = bricks.size - disBricks.size
|
||||
var sum = 0
|
||||
var fallingSum = 0
|
||||
for (brick in disBricks) {
|
||||
val fallingSet = HashSet<Brick>()
|
||||
val removeQueue = ArrayDeque<Brick>()
|
||||
@ -192,11 +192,11 @@ fun main() {
|
||||
while (removeQueue.isNotEmpty()) {
|
||||
val falling = removeQueue.removeFirst()
|
||||
fallingSet.add(falling)
|
||||
removeQueue.addAll(falling.onTopBricks.filter { it.uponBricks.subtract(fallingSet).isEmpty() })
|
||||
removeQueue.addAll(falling.onTopBricks.filter { fallingSet.containsAll(it.uponBricks) })
|
||||
}
|
||||
sum += fallingSet.size - 1
|
||||
fallingSum += fallingSet.size - 1
|
||||
}
|
||||
return safeBricks to sum
|
||||
return safeBricks to fallingSum
|
||||
}
|
||||
|
||||
// test if implementation meets criteria from the description, like:
|
||||
|
Loading…
Reference in New Issue
Block a user