题解 | #贪吃牛#

贪吃牛

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

知识点

动态规划

分析

如果N=1,共有1种方案;

如果N=2,共有2种方案;

如果N=3,可以吃1,剩2,也可以吃2,剩下1,所以共有2+1=3种方案;

如果N=4,则吃1,剩3,也可以吃2,剩2,共有3+2=5种方案。

则f[i] = f[i - 1] + f[i - 2]

那么使用动态规划就可以解决了。

编程语言

C++

完整代码

int eatGrass(int n) {
        int f[10010] = {0};
        f[1] = 1; f[2] = 2;
        for (int i = 3; i <= n; i++){
            f[i] = f[i - 1] + f[i - 2];
        }
        return f[n];
    }

全部评论

相关推荐

头像
昨天 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务