Advertisement
vladimirVenkov

fibonacci With Memoization

Jan 11th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.90 KB | None | 0 0
  1. package com.telerikacademy.tasks.Recursion;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. public class Fibonacci {
  7.     public static void main(String[] args) {
  8.  
  9.         int number = 25;
  10.  
  11.         List<Integer> listOfFibonacciNumbers = new ArrayList<>();
  12.         listOfFibonacciNumbers.add(0);
  13.         listOfFibonacciNumbers.add(1);
  14.         listOfFibonacciNumbers.add(1);
  15.  
  16.         System.out.println(fibonacciWithMemoization(number, listOfFibonacciNumbers));
  17.         for (int num : listOfFibonacciNumbers) {
  18.             System.out.print(num + ", ");
  19.         }
  20.     }
  21.  
  22.     private static int fibonacciWithMemoization(int i, List<Integer> result) {
  23.         if (i < result.size()) {
  24.             return result.get(i);
  25.         }
  26.         int number = fibonacciWithMemoization(i - 1, result) + fibonacciWithMemoization(i - 2, result);
  27.         result.add(number);
  28.         return result.get(i);
  29.     }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement