Files
Java/src/main/java/com/thealgorithms/matrix/MedianOfMatrix.java
Oleksandr Klymenko 95116dbee4 refactor: improving MedianOfMatrix (#6376)
refactor: improving MedianOfMatrix
2025-07-15 07:23:49 +02:00

33 lines
879 B
Java

package com.thealgorithms.matrix;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Median of Matrix (https://medium.com/@vaibhav.yadav8101/median-in-a-row-wise-sorted-matrix-901737f3e116)
* Author: Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi)
*/
public final class MedianOfMatrix {
private MedianOfMatrix() {
}
public static int median(Iterable<List<Integer>> matrix) {
List<Integer> flattened = new ArrayList<>();
for (List<Integer> row : matrix) {
if (row != null) {
flattened.addAll(row);
}
}
if (flattened.isEmpty()) {
throw new IllegalArgumentException("Matrix must contain at least one element.");
}
Collections.sort(flattened);
return flattened.get((flattened.size() - 1) / 2);
}
}