/*
Create a sorted unique vector (vec) from a matrix (arr of arr).
Steps:
1. Flatten matrix into vec
2. Sort vec (sorted)
3. Remove duplicates (distinct)
*/
def makeSortedUniqueVec(mat: Array[Array[Int]]): Vector[Int] = {
// Flatten matrix into vec
val vec = mat.flatten.toVector
// Sort vec and remove duplicates
vec.sorted.distinct
}
@main def run(): Unit = {
val mat = Array(
Array(5, 1, 17, 3, 8, 2, 1, 9),
Array(3, 5, 7, 4, 2, 3, 4, 1),
Array(9, 1, 8, 2, 3, 88, 17, 5)
)
val vec = makeSortedUniqueVec(mat)
vec.foreach(x => print(s"$x "))
}
/*
run:
1 2 3 4 5 7 8 9 17 88
*/