diff --git a/code_to_optimize/java/src/main/java/com/example/Fibonacci.java b/code_to_optimize/java/src/main/java/com/example/Fibonacci.java index b604fb928..d2ee156a9 100644 --- a/code_to_optimize/java/src/main/java/com/example/Fibonacci.java +++ b/code_to_optimize/java/src/main/java/com/example/Fibonacci.java @@ -21,7 +21,16 @@ public static long fibonacci(int n) { if (n <= 1) { return n; } - return fibonacci(n - 1) + fibonacci(n - 2); + + long[] memo = new long[n + 1]; + memo[0] = 0; + memo[1] = 1; + + for (int i = 2; i <= n; i++) { + memo[i] = memo[i - 1] + memo[i - 2]; + } + + return memo[n]; } /**