From b0f81f1bc99c5affcf73000d72430653d2d6d1ac Mon Sep 17 00:00:00 2001 From: Matheus Muriel Date: Thu, 10 Oct 2019 16:20:35 +0000 Subject: [PATCH 1/2] Correction of iteration limit of fibOptimized --- DynamicProgramming/Fibonacci.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DynamicProgramming/Fibonacci.java b/DynamicProgramming/Fibonacci.java index 35af98add..6b362f0da 100644 --- a/DynamicProgramming/Fibonacci.java +++ b/DynamicProgramming/Fibonacci.java @@ -88,7 +88,7 @@ public class Fibonacci { return 0; } int prev = 0, res = 1, next; - for (int i = 2; i < n; i++) { + for (int i = 2; i <= n; i++) { next = prev + res; prev = res; res = next; From c502da807c994f48dc6bd77dce3a46a1ed5f2d8d Mon Sep 17 00:00:00 2001 From: Yang Libin Date: Thu, 24 Oct 2019 14:38:08 +0800 Subject: [PATCH 2/2] fix: update Fibonacci and close #1008 * close #1008 --- DynamicProgramming/Fibonacci.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/DynamicProgramming/Fibonacci.java b/DynamicProgramming/Fibonacci.java index 6b362f0da..ba77919f8 100644 --- a/DynamicProgramming/Fibonacci.java +++ b/DynamicProgramming/Fibonacci.java @@ -1,9 +1,8 @@ package DynamicProgramming; -import java.io.BufferedReader; -import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; +import java.util.Scanner; /** * @author Varun Upadhyay (https://github.com/varunu28) @@ -13,14 +12,15 @@ public class Fibonacci { private static Map map = new HashMap<>(); - public static void main(String[] args) throws Exception { - - BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); - int n = Integer.parseInt(br.readLine()); + public static void main(String[] args) { // Methods all returning [0, 1, 1, 2, 3, 5, ...] for n = [0, 1, 2, 3, 4, 5, ...] + Scanner sc = new Scanner(System.in); + int n = sc.nextInt(); + System.out.println(fibMemo(n)); System.out.println(fibBotUp(n)); + System.out.println(fibOptimized(n)); } /** @@ -29,7 +29,7 @@ public class Fibonacci { * @param n The input n for which we have to determine the fibonacci number * Outputs the nth fibonacci number **/ - private static int fibMemo(int n) { + public static int fibMemo(int n) { if (map.containsKey(n)) { return map.get(n); } @@ -51,7 +51,7 @@ public class Fibonacci { * @param n The input n for which we have to determine the fibonacci number * Outputs the nth fibonacci number **/ - private static int fibBotUp(int n) { + public static int fibBotUp(int n) { Map fib = new HashMap<>(); @@ -83,7 +83,7 @@ public class Fibonacci { * Whereas , the above functions will take O(n) Space. * @author Shoaib Rayeen (https://github.com/shoaibrayeen) **/ - private static int fibOptimized(int n) { + public static int fibOptimized(int n) { if (n == 0) { return 0; } @@ -95,4 +95,4 @@ public class Fibonacci { } return res; } -} \ No newline at end of file +}