去哪儿软开秋招笔试——算法真题

时间:2024.10

1、给定一个长度为n且仅由小写字母构成的字符串,字符串中的位置有两种类型:固定位和流动位
• 对于一个固定位,该位置上的字符不会在操作中发生变化。
• 对于一个流动位上的字符,它可能会发生变化。
初始时所有位置都是流动位。位置标号从1开始。现在有4次操作,每次操作有下列两种可能:
• 操作一:将第i位设置为固定位(不保证之原来是流动位)。
• 操作二:将所有流动位的字符循环右移一格。不妨设流动位的下标为p1,p2, ..., pm,则该操作是将p1上的字符移动到p2;p2上的字符移动到p3;..;pm上的字符移动到p1。
例如,若字符串为”abcdef”(其中第2,4位是固定位,使用下划线表示),则一次操作二后变为”fbadce”,再次进行操作二后变为”ebfdac”
请输出一系列探作后最终得到的字符串
输入描述:第一行输入两个整致n,q代表字符串长度和操作次数。第二行输入一个长度为n,且仅由小写字母构成的字符串s代表初始字符串。此后q行,每行先输入一个整数op代表操作次数,如果op=1,则再同一行上输入另一个整数u代表将第u位设为固定位;op=2表示一次移动操作。保证流动位至少存在一个
输出描述:一个字符串表示经过操作后最终字符串

2、小N是一名地铁职工,上级给他安排了一个奇怪的任务:从某个站出发,坐满k分钟(k最大取到m,m给定)地铁,然后回到出发站。
这个城市的地铁系统也很神奇,一共有n 个车站,相邻两站之间的通勤总是耗时 1分钟,为了方便我们也不予考虑换乘等消耗的时间。
一直坐地铁也不是件轻松事,每坐一站路就会积累特定量的疲劳值。小N 听说在去哪儿上搜索出行攻路会很方便,所以他经过查阅,发现对于相邻的a,b两站,他从a坐到b或从b坐到a 都会积累f(a,b)的疲劳值。
现在小N想要知道,对于每一个出发站,从该站出发坐x分钟(x取遍[1,m]中的整数),再回到出发站,积累的疲劳值最少可以为多少
输入描述:第一行输入两个整数n和m,代表车站数量和最长乘坐时间
随后n行,第i行输入n个整数ai,1 , ..., ai,n,其中ai,j=-1表示车站i与车站j不相邻,否则其为f(i,j)
输出描述:对于n行,每行输出m 个整数。第i行的第j个数表示从i站出发坐j 分钟坐地铁再回到i站积累的疲劳值的最小值。如果从i站坐j分钟无法回到i站,则输出-1
示例:
5 3
-1 5 1 3 4
5 -1 4 4 3
1 4 -1 5 1
3 4 5 -1 5
4 3 1 5 -1

输出:
-1 2 6 
-1 6 8 
-1 2 6 
-1 6 9 
-1 2 6
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-24 03:53
去哪儿 Java n*16 其他
点赞 评论 收藏
分享
6.19   周四线下初面,面试官很好,是个大哥,上午有讲座,原定十点,商量着往后推迟到三点,面试官问我在哪里,还跟我指点地铁做什么线,到哪个站,场景题给的比较多,又浅谈了下对于一些技术栈的理解面完说,一个周内会约技术面,让我注意邮件,没有的话直接给他打电话。然后考虑到我离得比较远,说会安排视频形式,不用我再跑来跑去好令人安心的面试官大哥,超赞,祝工作顺利6.24周二下午打电话问我有没有时间,这会儿面试,结果等待一个小时联系,发现可能是由于联系方式的原因,我这边没接到邀约,那边以为我不在,呜呜呜,很忐忑,还好第二天早上又重新安排了,6.25周三技术面,问的不太多,自己也没太掉链子,看来是过了,反问环节问大概什么时候给结果,然后是这周之内提前十五分钟进去,但开始十五分钟后面试官都还没来,超紧张,都准备发邮件了,然后想着刷新一下系统,结果刷起来发现面试官已经在了。我嘞个嘞,赶紧解释一下我提前十分钟就在线了,以免留下不好印象。不过还好,只是面试官刚在忙,呼,长舒一口气,虽有小波折,终于面上了6.27周五HR面,鼠鼠真的要吓鼠,周四电话询问时间安排后,发的邮件是青苗计划初试巴拉巴拉,还以为自己被多线程捞起了,或者推荐到别的业务线,以为要重新来过🎶这个问了很多,怎么学习Java,两个项目哪个更有成就感,为什么,实习过程与自己学习项目的时间有冲突,会不会相互影响......还面了什么公司,进展如何反问环节,依旧是鼠鼠最关心的流程问题,答曰,一个周内给结果,如果没给,就可以看别家了,呜呜呜,不想看别家了,超爱华勤的问题问完后,HR姐又跟我讲了薪资安排,上班时间,和25届即将到来,床位比较紧张什么的,到时候以入职实际情况为参照(可能会有包住环节么,那很好了)许愿拿到offer,我超认真超努力
面试问题记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务