字节跳动2019春招后端开发工程师-笔试题解析

本文回顾了字节跳动2019年春季招聘后端开发工程师的在线笔试,主要解析了两道编程题:1. 小牛生小牛问题,涉及牛的生命周期模拟;2. 特工抓人问题,探讨如何在不超过k距离限制下安排特工位置。详细介绍了问题的逻辑分析和解题思路,并给出了代码实现。
摘要由CSDN通过智能技术生成

一、简介

字节跳动2019春招第三批在线笔试(后端开发工程师)已结束,结果也是凉凉。本文主要是分析这次的题目,并给出代码,以供大家参考和讨论,如有错误之处,还望帮忙指正,谢谢每位优秀的程序员。

二、题目分享

1.【编程题】小牛生小牛问题。

描述:每头牛第1~2年都不生小牛,第3~7年每年生一头小牛,第8~10年不生小牛,牛在第11年死亡。

问:n年后共有多少头牛?

文字分析:我们可以定义一个List(如:List<Integer) cows),里面传入的泛型为Integer,表示小牛的年龄。每过一年,对应的小牛年龄增加,第3~7年给list中添加一个元素,表示生了一头小牛。第11年开始移除一个元素,表示小牛死亡。

  • 第1~2年,不生小牛,所以年龄会增加,但是牛的个数不变(cows.set(牛的编号,age+1));
  • 第3~7年,年龄会增加,同时还会生一头小牛(cows.set(牛的编号,age+1)、cows.add(new Cow(age=1)));
  • 第8~10年,只是年龄增加,也不生小牛了(cows.set(牛的编号,age+1));
  • 第11年牛死亡(cows.remove(牛的编号)。
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值