携程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
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
全部评论
相关推荐
点赞 评论 收藏
分享
05-09 20:50
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享