题解 | #贪吃牛#

贪吃牛

https://www.nowcoder.com/practice/ae6261c872724fda8913b0377e85f6ab

  • 题目考察的知识点 : 动态规划,斐波那契
  • 题目解答方法的文字分析:
  1. 定义状态:明确问题的状态表示,这里即为n块草料
  2. 确定转移方程:状态之间的关系,即吃n块草料的方案数 = 吃n-1块的方案数 + 吃n-2块的方案数
  3. 划分子问题:计算并存储每个状态的解,即dp[n] = dp[n-1] + dp[n-2]
  4. 去重复:通过表格存储子问题结果,避免重复计算
  • 本题解析所用的编程语言: Python
  • 完整且正确的编程代码

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 
# @return int整型
#
class Solution:
    def eatGrass(self , n: int) -> int:
        dp = [0] * (n+1)
        dp[0] = 1
        dp[1] = 1
    
        for i in range(2, n+1):
            dp[i] = dp[i-1] + dp[i-2]
        
        return dp[n]
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

明天不下雨了:兄弟你是我今天看到的最好看的简历(我说的是简历风格跟简历书写)把985 211再搞亮一点。投boss就说;您好,我华科(985)研二在读,本科211。对您的岗位很感兴趣,希望能获得一次投递机会。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务