diff --git a/Dynamic Programming/Fibonacci.java b/Dynamic Programming/Fibonacci.java index 844beabb4..72048153d 100644 --- a/Dynamic Programming/Fibonacci.java +++ b/Dynamic Programming/Fibonacci.java @@ -18,7 +18,8 @@ public class Fibonacci { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); - System.out.println(fib(n)); // Returns 8 for n = 6 + System.out.println(fibMemo(n)); // Returns 8 for n = 6 + System.out.println(fibBotUp(n)); // Returns 8 for n = 6 } /** @@ -28,7 +29,7 @@ public class Fibonacci { * Outputs the nth fibonacci number **/ - public static int fib(int n) { + public static int fibMemo(int n) { if (map.containsKey(n)) { return map.get(n); } @@ -45,5 +46,30 @@ public class Fibonacci { return f; } + + /** + * This method finds the nth fibonacci number using bottom up + * + * @param n The input n for which we have to determine the fibonacci number + * Outputs the nth fibonacci number + **/ + + public static int fibBotUp(int n) { + + Map fib = new HashMap(); + + for (int i=1;i