我必须做一个递归函数来计算矩阵的行列式3x3 heres是我的代码
public int determinant(int matrix[][]) {
if (matrix.length == 2) {
return (matrix[0][0] * matrix[1][1]) - (matrix[0][1] * matrix[1][0]);
}
double sum = 0.0;
for (int i = 0; i < matrix.getNcols(); i++) {
sum += changeSign(i) * matrix.getValueAt(0, i) * determinant(createSubMatrix(matrix, 0, i));
}
return sum;
}
我需要更改最后一个返回以进行递归,但我实际上并不知道。
答案 0 :(得分:1)
这是递归的,因为这一行:
sum += changeSign(i) * matrix.getValueAt(0, i) * determinant(createSubMatrix(matrix, 0, i));
由于您在自己内部调用该方法,因此它是递归的。这似乎也很好。