Format code with prettier (#3375)

This commit is contained in:
acbin
2022-10-03 17:23:00 +08:00
committed by GitHub
parent 32b9b11ed5
commit e96f567bfc
464 changed files with 11483 additions and 6189 deletions

View File

@ -10,10 +10,10 @@ import java.util.Scanner;
public class Fibonacci {
// Exponentiation matrix for Fibonacci sequence
private static final int[][] fibMatrix = {{1, 1}, {1, 0}};
private static final int[][] identityMatrix = {{1, 0}, {0, 1}};
private static final int[][] fibMatrix = { { 1, 1 }, { 1, 0 } };
private static final int[][] identityMatrix = { { 1, 0 }, { 0, 1 } };
//First 2 fibonacci numbers
private static final int[][] baseFibNumbers = {{1}, {0}};
private static final int[][] baseFibNumbers = { { 1 }, { 0 } };
/**
* Performs multiplication of 2 matrices
@ -22,7 +22,10 @@ public class Fibonacci {
* @param matrix2
* @return The product of matrix1 and matrix2
*/
private static int[][] matrixMultiplication(int[][] matrix1, int[][] matrix2) {
private static int[][] matrixMultiplication(
int[][] matrix1,
int[][] matrix2
) {
//Check if matrices passed can be multiplied
int rowsInMatrix1 = matrix1.length;
int columnsInMatrix1 = matrix1[0].length;
@ -35,8 +38,14 @@ public class Fibonacci {
for (int rowIndex = 0; rowIndex < rowsInMatrix1; rowIndex++) {
for (int colIndex = 0; colIndex < columnsInMatrix2; colIndex++) {
int matrixEntry = 0;
for (int intermediateIndex = 0; intermediateIndex < columnsInMatrix1; intermediateIndex++) {
matrixEntry += matrix1[rowIndex][intermediateIndex] * matrix2[intermediateIndex][colIndex];
for (
int intermediateIndex = 0;
intermediateIndex < columnsInMatrix1;
intermediateIndex++
) {
matrixEntry +=
matrix1[rowIndex][intermediateIndex] *
matrix2[intermediateIndex][colIndex];
}
product[rowIndex][colIndex] = matrixEntry;
}
@ -56,11 +65,17 @@ public class Fibonacci {
return Fibonacci.identityMatrix;
} else {
int[][] cachedResult = fib(n / 2);
int[][] matrixExpResult = matrixMultiplication(cachedResult, cachedResult);
int[][] matrixExpResult = matrixMultiplication(
cachedResult,
cachedResult
);
if (n % 2 == 0) {
return matrixExpResult;
} else {
return matrixMultiplication(Fibonacci.fibMatrix, matrixExpResult);
return matrixMultiplication(
Fibonacci.fibMatrix,
matrixExpResult
);
}
}
}