import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @return int整型
     */
    public int eatGrass (int n) {
	  // dp数组是牛吃草的解法 递推公式就是最基础的裴波那契数列 
        int [] dp = new int[30];
	  // dp数组初始化
        dp[1] = 1;
        dp[2] = 2;
	  // 遍历顺序从第三个开始
        for (int i = 3; i <= n; i++) {
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[n];
    }
}

本题知识点分析:

1.递归

2.dp动态规划数组

3.数组遍历赋值

4.数学模拟(斐波那契数列)

本题解题思路分析:

1.确定dp数组和下标含义 dp数组是牛吃草的解法

2.确定递推公式 dp[i] = dp[i - 1] + dp[i - 2]

3.dp数组初始化 dp[1] = 1; dp[2] = 2;

4.确定遍历顺序 遍历顺序从第三个开始

5.举例推导dp数组

本题使用编程语言: Java