Вычислить determinant в двухмерном массиве
Есть интовый метод принимающий двухмерный массив. Размер массива не известен, нужно вычислить детерминант и вернуть его. Я реализовать смог, только если размер будет 2 на 2, но размер может быть N на N, как оптимизировать код, чтобы не зависить от размера ? Как решить эту проблему ?
public static int determinant(int[][] matrix) {
int det = 0;
if(matrix.length == 2 && matrix[0].length == 2) {
det = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0];
}
return det;
}