【随想录】Day38—第九章 动态规划part01

目录

  • 题目1: 509. 斐波那契数
    • 1- 思路
      • 动规五部曲
    • 2- 题解
      • ⭐ 斐波那契数——题解思路
    • 题目2: 70. 爬楼梯
      • 1- 思路
      • 2- 题解
        • ⭐ 爬楼梯——题解思路
  • 题目3:746. 使用最小花费爬楼梯
    • 1- 思路
    • 2- 题解
      • ⭐ 使用最小花费爬楼梯——题解思路


题目1: 509. 斐波那契数

  • 题目链接:509. 斐波那契数

1- 思路

动规五部曲

  • 1.确定dp数组(dp table)以及下标的含义
  • 2.确定递推公式
  • 3.dp数组如何初始化
  • 4.确定遍历顺序
  • 5.举例推导dp数组

2- 题解

⭐ 斐波那契数——题解思路

【随想录】Day38—第九章 动态规划part01_第1张图片

class Solution {
   
    public int fib(int n) {
   
        if (n <= 1) return n; 
        // 1.确定 dp 数组以及下标含义
        // dp 数组大小为 n 下标代表对应位置的斐波那契数列值
        int[] dp = new int [n+1];
        // 2. 确定递推函数 F(n) =  F(n-1) + F(n-2)
        // 3. dp 数组初始化,
        dp[0] = 0;
        dp[1] = 1;
        // 4. 确定遍历顺序 遍历 dp 数组
        for(int i = 

你可能感兴趣的:(算法,动态规划,算法)