/*
Create a sorted unique array (arr) from a matrix (arr of arr).
Steps:
1. Flatten matrix into arr
2. Sort arr
3. Remove duplicates (using Set)
*/
func makeSortedUniqueArr(_ mat: [[Int]]) -> [Int] {
// Flatten matrix into arr
let arr = mat.flatMap { $0 }
// Sort arr and remove duplicates
let arrUnique = Array(Set(arr)).sorted()
return arrUnique
}
let mat = [
[5, 1, 17, 3, 8, 2, 1, 9],
[3, 5, 7, 4, 2, 3, 4, 1],
[9, 1, 8, 2, 3, 88, 17, 5]
]
let arr = makeSortedUniqueArr(mat)
arr.forEach { print($0, terminator: " ") }
/*
run:
1 2 3 4 5 7 8 9 17 88
*/