Java后端之美团笔试题

更新的时间:2022-5-7笔试

今天下午考的笔试,好难,我把题目贴这里,会做的大佬贴一下思路吧!!!

 

题目一:

小团饲养了一小缸鱼,并且买了A、B、C三类饲料来喂养它们,小团的饲养计划如下:
—— 在每周一、五、六,喂8粒A类饲料;
—— 在每周二、日,喂5颗B类饲料;
—— 在每周三、四,喂7颗C类饲料。
 假设在某个周一,小团一次性购买了A、B、C三类饲料各a、b、c颗,并在当天开始饲养,请问如果小团按照它的饲养计划进行喂食,请问这批饲料可以吃多少天(周一当天也算一天)?

样例输入
8 6 6
样例输出
2

题目二:

小美得到了一个只包含’0’和’1’两种字符的字符串,现在她可以往这个字符串的任意位置添加任意个字符’1’,请问她至少需要添加多少个字符’1’才能使添加后的字符串是一个回文串?
输入描述
第一行一个整数T,表示有T组数据。
接下来T行,第i行是一个只包含’0’和’1’两种字符的字符串si。
1<=T<=10, 1<=字符串si的长度<=100000
输出描述
T行,每行一个整数,其中第i行表示输入描述中的字符串si至少需要添加多少个字符’1’使其变成回文串。
样例输入
4
10101
00001
01001101
1110
样例输出
0
1
2
3
样例解释
添加的字串用[]示意:
10101=>10101,无需添加即是回文串。
00001=>[1]00001
01001101=>[1]01[1]001101
1110=>1110[1][1][1]

题目三:

时间限制: 3000MS
内存限制: 589824KB
题目描述:
小团在一个无限长的一维坐标轴上玩一个探险游戏,初始时他位于原点,并有k点体力。每往正方向走一格(无法往反方向移动)需要消耗一点体力。要求小团在任何时刻体力都不能小于零。已知坐标轴上有n个坐标上有体力药水,到达这些坐标时,可以恢复一定量的体力。小团想知道,他所能到达的最远坐标是多远?

输入描述 第一行两个正整数k、n,分别表示小团初始有k点体力,以及坐标轴上有n个坐标上有体力药水。 接下来一行n个正整数,第i个数xi表示在xi这个坐标上有体力药水。(xi互不相同) 接下来一行n个正整数,第i个数ti表示在xi这个坐标上的体力药水可以恢复ti点体力。 1<=k <=2000000, 1<=n<=20000,1<=xi<=100000000,1<= ti<=10000 输出描述 一行一个正整数,表示小团所能到达的最远坐标。 样例输入 5 2 6 3 1 2 样例输出 8 提示 样例解释1 初始有5点体力,到达坐标3时还剩余2点体力,补充2点,共余4点; 到达坐标6时还剩下1点,补充1点,共余2点; 耗尽体力时处于坐标8。 输入样例2 2 1 2 1 输出样例2 3 样例解释2 初始有2点体力,在坐标2补充1点体力到达坐标3。 输入样例3 2 1 3 1 输出样例3 2 样例解释3 初始有2点体力,到达坐标2耗尽体力停止。

题目四:

代金券
时间限制: 3000MS
内存限制: 589824KB
题目描述:
小美和小团来到了一家餐厅吃饭,美团上有许多代金券,形如花xi元购买,可以当yi元使用(保证yi>xi)。至多只能购买一张代金券。
对于餐厅里的每种菜品,有价格ai和能够给予给他们的满意度bi。每种菜品至多只会点一份。
代金券是一次性无找零的,若本次消费的价格不高于代金券可以抵用的价格,那么可以使用代金券来抵付本次的所有消费;若本次消费的价格高于可抵用价格,那么还需要支付超出的部分。

下面给出两个例子:
——如果本次需要消费270元,小美和小团花了250元购买了一张可以抵300元的代金券,那么使用这张代金券可以完全抵付,他们实际花费250元;
——如果本次消费需要230元,小美和小团花了150元购买了一张可以抵199的代金券,那么他们使用代金券可以抵199元,但还需要支付超出的230-199=31元,他们实际花费150+31=181元。
假设他们这次吃饭的预算是k元,请问他们能得到的最高满意度是多少?

输入描述
第一行3个整数n、m、k,分别表示美团上有n种代金券、餐厅的菜单上有m种菜品、以及小美和小团的预算是k元。
接下来n行,每行两个整数,第 i 行xi和yi分别表示代金券的价格为xi元,可以抵用yi元。
接下来m行,每行两个整数,第i行ai和bi分别表示菜品的价格为ai元,该菜品可以给予他们的满意度为bi。
1<=n<=20,1<=m<=200, 1<=k<=10000, 1<=xi<=yi<=20000, 1<=ai,bi<=500
输出描述
输出一个整数,表示小美和小团在预算内最多能获得多高的满意度。
样例输入
2 3 10
7 10
10 12
7 4
2 4
5 6
样例输出
10
提示
样例解释
点的菜品为第1种与第3种,满意度为10,需要支付12元。
可以选择第一种代金券,抵用10元再额外支付2元,一共花费7+2=9元,在预算内;
也可以选择第二种代金券,直接抵用12元,无需额外再支付,花费10元,在预算内。

你可能感兴趣的:(算法题目专栏,java,c语言,算法)