How to calculate the median of a matrix in Swift

1 Answer

0 votes
import Foundation

func findMedianUnsortedMatrix(_ matrix: [[Int]]) -> Double {
    var elements: [Int] = []

    // Flatten the matrix
    for row in matrix {
        for val in row {
            elements.append(val)
        }
    }

    // Sort the elements
    elements.sort()

    // Calculate median
    let n = elements.count
    if n % 2 == 1 {
        // Odd number of elements: return middle element
        return Double(elements[n / 2])
    } else {
        // Even number of elements: return average of two middle elements
        return Double(elements[n / 2 - 1] + elements[n / 2]) / 2.0
    }
}

let matrix = [
    [5, 8, 9, 10],
    [1, 4, 6, 13],
    [7, 3, 0, 18],
    [6, 8, 9, 20]
]

let median = findMedianUnsortedMatrix(matrix)
print(String(format: "Median of the matrix is: %.1f", median))


/*
run:

Median of the matrix is: 7.5

*/

 



answered Oct 6, 2025 by avibootz
...