From 016d94fc659da0792a5211c10efbf4bbdde63487 Mon Sep 17 00:00:00 2001 From: Prince Kotadia Date: Fri, 17 Oct 2025 23:06:41 +0530 Subject: [PATCH 1/3] Added Optimized solution for computing nth term in fibonacci series --- .../recursion/FibonacciOptimized.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java diff --git a/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java b/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java new file mode 100644 index 000000000000..37c87ebdd40f --- /dev/null +++ b/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java @@ -0,0 +1,23 @@ +package com.thealgorithms.recursion; + +/* + The Fibonacci series is a sequence of numbers where each number is the sum of the two preceding ones, + starting with 0 and 1. + NUMBER 0 1 2 3 4 5 6 7 8 9 10 ... + FIBONACCI 0 1 1 2 3 5 8 13 21 34 55 ... +*/ + +/*T his is optimized solution for fibonacci series. It computes fibonacci series in linear(O(n)) time complexity */ + +public final class FibonacciOptimized { + static int fibonacci(int limit, int num1, int num2){ + if(limit==1){ + return num1; + } + else{ + return fibonacci(limit-1, num2, num1+num2); + } + } + +} + From 198277fc585c997fa5f1dcf6a7fe0c4f7fa78eb8 Mon Sep 17 00:00:00 2001 From: Prince Kotadia Date: Fri, 17 Oct 2025 23:27:58 +0530 Subject: [PATCH 2/3] chaged Fibonacci Optimized --- .../recursion/FibonacciOptimized.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java b/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java index 37c87ebdd40f..ed0d7cf18146 100644 --- a/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java +++ b/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java @@ -7,17 +7,18 @@ FIBONACCI 0 1 1 2 3 5 8 13 21 34 55 ... */ -/*T his is optimized solution for fibonacci series. It computes fibonacci series in linear(O(n)) time complexity */ - +/* This is optimized solution for fibonacci series. It computes fibonacci series in linear (O(n)) time complexity */ public final class FibonacciOptimized { - static int fibonacci(int limit, int num1, int num2){ - if(limit==1){ + + private FibonacciOptimized() { + // Prevent instantiation + } + + static int fibonacci(int limit, int num1, int num2) { + if (limit == 1) { return num1; - } - else{ - return fibonacci(limit-1, num2, num1+num2); + } else { + return fibonacci(limit - 1, num2, num1 + num2); } } - -} - +} \ No newline at end of file From c8755703c8577883bd42d391991f932f8470b67d Mon Sep 17 00:00:00 2001 From: Prince Kotadia Date: Fri, 17 Oct 2025 23:43:18 +0530 Subject: [PATCH 3/3] Fix Checkstyle: add newline at end of FibonacciOptimized.java --- .../java/com/thealgorithms/recursion/FibonacciOptimized.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java b/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java index ed0d7cf18146..a93ff6bc9f3d 100644 --- a/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java +++ b/src/main/java/com/thealgorithms/recursion/FibonacciOptimized.java @@ -21,4 +21,4 @@ static int fibonacci(int limit, int num1, int num2) { return fibonacci(limit - 1, num2, num1 + num2); } } -} \ No newline at end of file +}