import scala.util.boundary, boundary.break
object Main {
def canConstruct(str: String, anotherStr: String): Boolean = boundary:
// ASCII frequency table
val freq = Array.fill(256)(0)
// Count characters in anotherStr
anotherStr.foreach { ch =>
freq(ch.toInt) += 1
}
// Check if str can be constructed
str.foreach { ch =>
val idx = ch.toInt
freq(idx) -= 1
if (freq(idx) < 0)
break(false) // Safe non-local exit using boundary/break
}
true // Default return value if break is never called
def main(args: Array[String]): Unit = {
val str = "hello"
val anotherStr = "olehhlxyz"
println(canConstruct(str, anotherStr))
}
}
/*
run:
true
*/