题解 | #贪吃牛#
贪吃牛
https://www.nowcoder.com/practice/ae6261c872724fda8913b0377e85f6ab
知识点:动态规划
动态规划类的题目要找到状态转移的公式。由子问题一步步推算,得到最终答案。
一共有两种情况:一次吃一块;一次吃两块,对于吃到第i块时,有可能是由第i-1块时吃一块实现的,也有可能是由第i-2块时吃两块实现的。
只需要将这两种情况能完成的可能数加起来就可以计算出第n块的情况。
Java题解如下:
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型 */ public int eatGrass (int n) { // write code here int[] dp = new int[n + 1]; dp[0] = 1; dp[1] = 1; for(int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n]; } }