How to create a sorted unique list from a matrix in Scala

1 Answer

0 votes
/*
    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

*/

 



answered 6 days ago by avibootz
...