fibonacciMemo function

int fibonacciMemo(
  1. int n, [
  2. Map<int, int>? memo
])

🧮 Fibonacci with Memoization (Dynamic Programming)

Efficiently computes the nth Fibonacci number using top-down DP with memoization.

Time Complexity: O(n) Space Complexity: O(n)

Implementation

int fibonacciMemo(int n, [Map<int, int>? memo]) {
  memo ??= <int, int>{};
  if (n <= 1) return n;
  if (memo.containsKey(n)) return memo[n]!;
  memo[n] = fibonacciMemo(n - 1, memo) + fibonacciMemo(n - 2, memo);
  return memo[n]!;
}