Data Structures and AlgorithmsDynamic Programming

Dynamic Programming (DP) is an optimization technique for solving problems by breaking them down into overlapping subproblems and storing solutions to avoid redundant calculations.

// Example: Fibonacci using DP
function fibonacci(n) {
  let dp = [0, 1];
  for (let i = 2; i <= n; i++) {
    dp[i] = dp[i - 1] + dp[i - 2];
  }
  return dp[n];
}
console.log(fibonacci(6)); // Output: 8