动态规划是算法设计中的一种方法,将一个问题分解为相互重叠的子问题,通过反复求解子问题,来解决原来的问题

斐波那契数列

image.png

定义子问题

  1. F(n) = F(n -1) + F(n-2)

反复执行:从 2 循环到 n,反复执行上述公式

  1. function fibonacci(n) {
  2. if (n == 1 || n == 2) {
  3. return 1
  4. };
  5. return fibonacci(n - 2) + fibonacci(n - 1);
  6. }