题解 | #统计每个月兔子的总数#

统计每个月兔子的总数

https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395

package main

import (
    "fmt"
)

func calculateRabbit(n int) int {
    // 本质是斐波那契数列
    // dp[i]: 标识第 i 个月的兔子数量
    // 第 n 个月的兔子数量为
    //     1. 上个月的 dp[n-1]只兔子
    //     2. 上上个月的 dp[n-2]只兔子,每只会生出一个小兔子
    dp := make([]int, n+1)
    
    for i:=0; i<=n; i++ {
        if i <= 2 {
            dp[i] = 1
        } else {
            dp[i] = dp[i-1] + dp[i-2]
        }
    }

    return dp[n]
}

func main() {
    var n int
    fmt.Scan(&n)
    fmt.Println(calculateRabbit(n))
}
// 本题输入一个数字,所以采用 fmt.Scan(&n)

全部评论

相关推荐

02-11 17:47
已编辑
门头沟学院 Java
神哥不得了:神哥来啦~建议先在网上找一些高频的八股去背,然后再去广泛的背八股,这样的学习会更有效率一些,简历的这两个项目建议换掉,换成两个高质量的项目,这样的话获得面试的比例会更高一点,专业技能的话排版要注意一下,要加句号的话就都加,要不加就都不加,荣誉奖项的话写在教育经历里边吧,这个确实没有太多的含金量
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务