题解 | #贪吃牛#

贪吃牛

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

考察知识点:动态规划

题目分析:

用methods[i]表示吃完这 i 种草的方式数量。

为了计算methods[i],在吃第i种草前可能一次性吃了一种草,也可能一次性吃了两种草。也就是说methods[i]是由methods[i - 1]或methods[i - 2]两种状态转移过来的,所以这两种状态相加就是methods[i]的方式数量。

所用编程语言:C++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @return int整型
     */
    int eatGrass(int n) {
        // write code here
        array<int, 25> methods;
        methods[0] = 1;
        methods[1] = 2;
        for (int i = 2; i < n; i++) {
            methods[i] = methods[i - 1] + methods[i - 2];
        }
        return methods[n - 1];
    }
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务