首页 > 其他分享 >字节青训营 兔群繁殖之谜

字节青训营 兔群繁殖之谜

时间:2024-11-09 20:49:50浏览次数:3  
标签:字节 青训营 样例 兔子 long 繁殖 小兔子 兔群 dp

兔群繁殖之谜

问题描述

生物学家小 R 正在研究一种特殊的兔子品种的繁殖模式。这种兔子的繁殖遵循以下规律:

  1. 每对成年兔子每个月会生育一对新的小兔子(一雌一雄)。
  2. 新生的小兔子需要一个月成长,到第二个月才能开始繁殖。
  3. 兔子永远不会死亡。

小 R 从一对新生的小兔子开始观察。他想知道在第 A 个月末,总共会有多少对兔子。

请你帮助小 R 编写一个程序,计算在给定的月份 A 时,兔子群体的总对数。

注意:

  • 初始时有 1 对新生小兔子。
  • 第 1 个月末有 1 对兔子:原来那对变成了成年兔子,并开始繁殖。
  • 第 2 个月末有 2 对兔子:原来那 1 对成年兔子,繁殖了 1 对新生的小兔子。
  • 从第 3 个月开始,兔子群体会按照上述规律增长。

输入

一个整数 A(1 ≤ A ≤ 50),表示月份数。

返回

一个长整数,表示第 A 个月末兔子的总对数。

测试样例

样例1:

输入:A = 1
返回:1

样例2:

输入:A = 5
返回:8

样例3:

输入:A = 15
返回:987

代码解析:一道很简单的dp题,注意到每一天繁殖的数量是前两天的数量之和即可,注意初始化dp[1]和dp[2]

public class Main {
    public static long solution(int A) {
        if(A==1 ||A==2){
            return A;
        }
        long dp[]=new long[A+1];
        dp[1]=1;
        dp[2]=2;
        for(int i=3;i<A+1;i++){
            dp[i]=dp[i-2]+dp[i-1];
        }
        return dp[A];
    }

    public static void main(String[] args) {
        // Add your test cases here
        System.out.println(solution(1) == 1L);
        System.out.println(solution(5) == 8L);
        System.out.println(solution(15) == 987L);
    }
}

标签:字节,青训营,样例,兔子,long,繁殖,小兔子,兔群,dp
From: https://blog.csdn.net/a1564620982/article/details/143651066

相关文章

  • 字节大模型离职了,聊一下现在的面试……
    字节大模型离职了,聊一下现在的面试……之前总有小伙伴问我怎么进的字节❓学历经验是一方面吧,但你要了解现在市场上面试的方向才能针对性的去准备面试。现在面试问的最多的还是场景题,八股文较少,问来问去都是这些问题,一般的场景题就可以应付绝大部分的面试了。我反正也离......
  • 【字节青训营--还原原始字符串(中)】
    问题描述给定一个字符串 F,这个字符串是通过对某个初始字符串 S 执行若干次以下操作得到的:选择一个整数 K(其中 0≤K<∣S∣0≤K<∣S∣,∣S| 表示字符串 S 的长度)将 S 从第 K个位置(从0开始计数)到末尾的子串追加到 S 的末尾,即:S=S+S[K:]输入格式输入为一个字符串 F......
  • IO流-05:字节流
    欢迎来到“雪碧聊技术”CSDN博客!在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将不断探索Java的深邃世界,分享最新的技术动态、实战经验以及项目......
  • 字节AI产品面经|反反复复,无非这100个问题
    很多转行、求职的同学都会被突然提出的技术问题打的不知所措:总结一下大家遇到的问题1、AI相关的应用、技术和落地相关的准备不是很充分,很容易被问倒。、2、不知道大模型构建流程是怎么样的,每个节点产出物是什么,以及上下游关系;3、不了解AI技术的边界,也不懂基本的算法技......
  • 视频推荐的算法(字节青训)
    题目:西瓜视频正在开发一个新功能,旨在将访问量达到80百分位数以上的视频展示在首页的推荐列表中。实现一个程序,计算给定数据中的80百分位数。例如:假设有一个包含从1到100的整数数组,80百分位数的值为80,因为按升序排列后,第80%位置的数字就是80。99百分位数:假如有N个数据,将......
  • 【字节青训营-二分数字组合(简)】
    二分数字组合问题描述小F面临一个有趣的挑战:给定一个数组,她需要将数组中的数字分为两组。分组的目标是使得一组数字的和的个位数等于给定的A,另一组数字的和的个位数等于给定的B。除此之外,还有一种特殊情况允许其中一组为空,但剩余数字和的个位数必须等于A或B。小F需要计......
  • 字节青训-寻找最大葫芦
    问题描述在一场经典的德州扑克游戏中,有一种牌型叫做“葫芦”。“葫芦”由五张牌组成,其中包括三张相同牌面值的牌 aa 和另外两张相同牌面值的牌 bb。如果两个人同时拥有“葫芦”,我们会优先比较牌 aa 的大小,若牌 aa 相同则再比较牌 bb 的大小。在这个问题中,我们对“......
  • 【面试经验】字节tictok三面
    上午面的,今天很忙啊,没来得及分享。面试官人在美国,我看了一下,面试时间是UTC-5的20:00-21:00这些。上来双方自我介绍,面试官的履历很牛,非常牛,字节是他待过最小的公司了可能。然后就直接开coding。1.中序遍历;2.岛屿数量。题不难,我是个算法菜鸡,岛屿不会,应该是凉透了。后面......
  • 【JavaEE初阶】深入理解TCP协议特性之延时应答,捎带应答,面向字节流以及异常处理
     前言......
  • 字节跳动青训营 X 豆包MarsCode入营考核部分题解
    中等:观光景点组合得分问题小R正在研究一组观光景点,每个景点都有一个评分,保存在数组 values 中,其中 values[i] 表示第 i 个观光景点的评分。同时,景点之间的距离由它们的下标差 j-i 表示。一对景点 (i<j) 的观光组合得分为 values[i]+values[j]+i-j,也就......