暑期实习4.16携程笔试(只记得大意)

第一题:求最小插入字符‘o'的数量,使得输入的字符串有连续的you字段,比如输入yuyu,输出2,输入yuyou,输出1,输入youyou,输出0,输入yyyy输出0;
第二题:有三个数组,ai,bi,ci,先输入n代表这算个数组的长度,再依次输入每个数组的数字,求使ai+bi=ci成立的i值,比如输入:
4
1 2 3 4
5 6 7 8
0 12 8 1
输出2,解释(对ci也就是第三行排序,有ci=[0,8,1,12],所以i=2);再比如输入:
4
1 2 3 4
5 3 2 6
1 5 0 2
输出2,解释,对ci进行排序,有ci=[1,5,0,2],所以i =1,这里5只能用一次,位置2用完不能给位置3再用了!!!
第三题(大意):给一个数组,让这个数组中的素素两两合并,输出数组的最小长度,比如输入[1,3,2,5,4],输出3,解释:先合并3和2有[1,5,5,4]再合并5和5有[1,10,4],输出3
第四题(大意,这题我没太看懂题):大意是,先定义了一个最长路径,是树中任意两个端点间的最大距离,又定义了一个f(i),表示给第i个节点,添加一个新的节点(似乎这里是新的节点,不是添加新的叶子节点)后的最长路径。输入:
5(代表节点个输,5代表5个节点)
1 2(代表1是2的父节点)
2 3(代表2是3的父节点)
3 4
2 5
输出:
(输出记不清了,印象中输出第一行是4,第2行是3(要么就是4),第三行是4(要么就是3),剩下几行不记得了)
全部评论

相关推荐

4.16做的笔试,bg9本,笔试情况100 100 5 10,全程40min4.25更新:已进人才池😢1.项目拷打,先按着项目问八股2.redis的缓存穿透、击穿3.场景:缓存穿透的时候,写空值到Redis里面,如果我有个缓存穿透的线程,打入数据库(数据库中存在这条记录)的时候超时了,抛出异常,写入空值到缓存里面,用户下次访问拿到空值怎么解决?回答:设置缓存超时时间五分钟,超时抛出异常时,给用户返回一个“请5分钟之后再来处理,系统繁忙”反问:那这5分钟你就区分不出这个空值是超时写入的还是不在数据库里面写入的了吗无奈点头:让用户5分钟后再访问了嘛4.shardingsphere分库分表怎么考虑?说说具体流程5.如果分表的时候,发现表不够用了,然后需要扩容表,这个时候会发生什么?如何解决?6.sentinel的使用7.sentinel的原理(早知道不写进简历了,,,)8.什么是幂等?使用rocketmq时幂等要怎么?9.面向对象三大特性(开始纯八股)10.什么是多态?多态有什么好处?在什么情况下用到多态?11.堆 vs 栈?局部变量是怎么存放的?12.新生代  vs 老生代13.GC回收是怎么回收的,大致说一下14.ArrayList vs LinkList15.设计一个线程安全的Arraylist  (摆了说不会)16.手撕单例17.volatile是怎么保证可见性的?18.手撕线程池        (为什么连续三个手撕,继续说不会)19.JIT了解过吗        (彻底摆烂,说不会)面试官还是挺nice的,单例漏了volatile也会设置一个场景来引导,就是连续3个手撕我顶不住
点赞 评论 收藏
转发
点赞 2 评论
分享
牛客网
牛客企业服务