携程Java开发秋招笔试——算法真题

时间:2024.10

1、游游以前命名代码,习惯是这样的:
union_find, in_out, update_user, update_admin
即变量中只使用小写字母以及下划线,两个单词用下划线相连。
但是小牛老师教会了他大驼峰法,即每个单词以大写字母开头,并且没有下划线相连,比如将上述的四个变量改成大驼峰法便是:
unionFind, InOut, UpdateUser, UpdateAdmin
所以游游现在的首要任务就是将他以前的代码中的变量命名全都改成大驼峰法
输入描述:第一行一个正整数T(1≤卫≤1000),表示一共有T组数据
接下来T行,每行一个字符串s,表示游游原始的变量名
输出描述:输出包含T行,每行一个宇符串s表示转化成大驼峰法命名的变量名

输入:
2
now_coder
acm_icpc
输出:
NowCode
AcmIcpc

2、游游现在有八颗糖果。他有一个吃糖果的计划。
具体是:如果剩余的糖果数量是素数,那么这天他会吃n/3+1颗。否则这天就吃n/2+1颗。问他的糖果可以吃几天。
输入描述:输入一个整数n,表示游游的糖果数量。
输出描述:输出一个整数,表示游游可以吃的天数

输入:
10
输出:
3

3、游游拿到了一个长度为n的数组a,请你在不改变元素原有顺序的情况下将其分成恰好m个非空子数组,对m个子数组分别计算数组内所有元素的最大公约数 (gcd)值,请问这m个非空子数组内部的gcd值之和的最大值是多少
最大公约数 (gcd)指能够整除多个非零整数的最大正整数。分割指的是将数组分成若干个连续的子数组,每个元素都必须分到一个子数组中,且子数组之间不能有重叠部分,子数
组的并集要能够完全覆盖整个数组
输入描述:第一行两个整数表示n,m。第二行n个整数表示数组ai
输出描述:一行表示答案

输入:
4 2
输出:
5 6 3 2

4、游游拿到了一个长度为 n 的数组a,下标从 1 开始,g次询问 (op,l,r)。
op = 1,计算al& al+1|al+2&al+3|al+4...ar的值
以&开始,交替&|
op = 2,,计算al| al+1&al+2|al+3&al+4...ar的值
以开始,交替|&
例如:询问(1,3,9),计算a3& a4|a5&a6|a7&a8|a9
询问(2,3,9),计算a3|a4&a5|a6&a7|a8&a9
本题的&和|不区分优先级,从左往右计算
输入描述:
第一行包含两个整数n q,表示数组大小和询问个数。
第二行包含n个整数ai,表示数组a
接下来q行,每行包含三个整数op l r,表示询问。
输出描述:输出包含q行,每行包含一个整数,分别表示每次询问结果。

输入:
5 2
1 2 3 4 5
1 2 3
2 2 4
输出:
2
0
全部评论

相关推荐

2021 年夏天,我拿到大学录取通知书,家里人高兴地宴请亲友,庆祝我考上了大学。那时候,可能他们都以为考上大学就意味着人生有了保障。​然而,四年后的我才发现,真正的挑战才刚刚开始。​2024 年,大三下学期,身边的同学有的准备考研,有的计划留学,还有的选择直接就业。我选择了直接就业,踏上了秋招的征程。​我精心准备了简历,刷了无数道算法题,学习了各种面试技巧,梳理了实习期间做的项目,自信满满地开始投递简历。​然而,现实给了我一记耳光:​投了上百家公司,大多数都没有回应;​收到的回复大多是 “感谢您的投递,但岗位不匹配”;​经历了多轮测评和笔试,但真正进入面试的机会少之又少。​那段时间,我每天都在焦虑中度过,甚至开始怀疑自己的能力。​幸运的是,凭借之前的实习经验,我在 9 月初拿到了滴滴的实习转正通知,也收到了百度校招的提前批 Offer。​虽然最终结果不错,但这一路走来真的不容易。​校招的压力,只有经历过的人才能体会。​有人早早拿到 Offer,有人投了上百家仍然没有回应。​有人在焦虑中失眠,有人在等待中迷茫。​有人背风点烟,有人开车看海,有人 offer 打牌,还有人焦虑到失眠…… 真的,每个人都有自己的故事。如果你也在经历秋招,或者已经走过了这条路,欢迎在评论区分享你的经历。你现在的状态如何?校招顺利吗?投了多少家公司?如果能回到刚上大学的那天,你最想对自己说什么?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务