知识点:动态规划
动态规划类的题目要找到状态转移的公式。由子问题一步步推算,得到最终答案。
一共有两种情况:一次吃一块;一次吃两块,对于吃到第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];
}
}



京公网安备 11010502036488号