题解 | #牛吃草捆的问题#

牛吃草捆的问题

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

1.考察知识点

数组、动态规划

2.编程语言

C++

3.解题思路

典型的动态规划问题,与上楼梯有多少种方式一样

首先定义动态规划数组dp[n];

确定初态dp[0] = 1;dp[1] = 1;dp[2] = 2;

状态转移方程为dp[i] = (dp[i-1] + dp[i-2])%(1000000007),根据题目要求进行取模运算

最后执行循环,返回结果即可

4.完整代码

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型
 */
int countDays(int n ) {
    // write code here
    //动态规划一维数组
    int dp[n+1];
    //初态
    dp[0] = 1;
    dp[1] = 1;
    dp[2] = 2;
    //循环
    for(int i=3;i<=n;i++)
    {
        //状态转移方程
        dp[i] = (dp[i-1] + dp[i-2])%(1000000007);
    }
    return dp[n];
}

全部评论

相关推荐

昨天 23:42
中山大学 Java
搞Java不如组一辈子乐队:接好运
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务