携程笔试4道题

都没见过呜呜呜
1、给定一棵树,每次操作可以选择两个相邻节点使得它们同时+1,如果能在有限的操作次数内使得所有节点的奇偶性相同,输出yes并操作的输出边(树是以邻接边的方式给的,也给了每个节点的初始权重,但没思路)
2、字符串重排,如s="yuuouyouuuo"尽可能包含多的“you”连续子串(字符计数搞定,最搞笑的是测试用例错了,提交居然过了)
3、给定数组a=[a1,a2,a3,...],每次操作可以使得一个元素+1或-1,求使得所有元素变为ai的操作次数(直接肯定暴力超时,类似力扣462和453,但又不一样,没整出来)
4、数组相邻元素压缩,如[1(2),1(1),-1,(3)] -> [1,(3),-1(3)](就是字符串处理,明明感觉按照题干意思做出来了,测试用例也过了,但提交总是说解答错误,错误案例的答案感觉没问题就是过不了唉)
总结:两个小时,一个半小时在挠头(力扣题刷再多不顶用啊,还得刷牛客题嘤嘤嘤)
全部评论
全程挠头
2
送花
回复 分享
发布于 03-14 15:07 湖南
第三题就是空间换时间了 用左右前缀和来写在用map去存对应关系
1
送花
回复 分享
发布于 03-14 05:41 湖北
秋招专场
校招火热招聘中
官网直投
第三题应该nlogn可以,想了20分钟,先排序。排序后ai后面的肯定比他大,前面的肯定比他小,ai后面m个数和减去m乘ai,加上(n个ai减去前面n个数的和)。总共一次排序一次遍历
1
送花
回复 分享
发布于 03-14 20:03 陕西
有兄弟知道和第一题类似的题吗
1
送花
回复 分享
发布于 03-14 22:54 河南
牛客现在好像也力扣模式了
点赞
送花
回复 分享
发布于 03-13 22:06 广东
这是测开的四道题吗兄弟
点赞
送花
回复 分享
发布于 03-13 22:30 北京
压缩数组我跟你一样,测试用例过,结果一个不过,我最后五分钟发现应该是数字转字符串的时候用了循环,导致递归太深了
点赞
送花
回复 分享
发布于 03-14 00:23 重庆
需要的友友可以看看我首页,直接扫内推码投递,米哈游有大量岗位,可以咨询
点赞
送花
回复 分享
发布于 03-14 08:41 上海
需要的友友可以看看我首页,直接扫内推码投递,饿了么有大量岗位,可以咨询
点赞
送花
回复 分享
发布于 03-14 09:04 天津
第一题没做出来,另外三个过了
点赞
送花
回复 分享
发布于 03-14 21:36 重庆
T1贪心奇偶。然后叶子结点开始操作。T3中位数定理吧
点赞
送花
回复 分享
发布于 03-15 11:30 山西
第一题没锤,后面三个过了
点赞
送花
回复 分享
发布于 03-15 17:46 广东
第三题前缀和
点赞
送花
回复 分享
发布于 03-16 15:12 安徽

相关推荐

感觉前两题比较简单,后两题难度比较大,做完之后是100,100,20,0,也不知道能不能进面试第一题很简单,给一个长宽,给两个符号,让输出一个矩阵,要求符号交替出现,每个符号周围(上下左右)不能是和当前符号相同的,比较简单,相信各位大佬也都能A,就不细说了。第二题也不难,给一个正整数(非常长,可能有5000位),给一个k,给一个p,要求找到这个正整数中长度为k的一段数字的最大值,输出这个最大值%p的结果,也不很难。第三题看起来很简单,但是实际有难度。给一个数组,长度为n,再给q组数据,每组数据两个数l,r,代表左右边界,要求输出数组第l位一直乘到第r位的乘积%6。1相信各位牛友都能写出来,主要问题在于时间复杂度。如果使用最直接的方法算,n,q都到10^5时显然会超时,这也是一直卡在20%的原因。显然他是想让我们利用一些计算过的值,不要有太多重复计算,这可以大大减少时间复杂度,例如我们算过了10-20,在算10-21时直接用10-20的结果乘21就好了。最开始试图直接打表,写完发现内存爆了,此路不通。苦思冥想怎么能够实现重复利用,想到一种思路,我们可以分块,比如1-100000分成100块:1-1000、1000-2000、……、99000-100000,预先计算出每一段的结果,存起来,然后算q组数据的时候就可以利用了,比如0-2001,就可以利用1-1000、1000-2000这两段从而降低时间复杂度。但是想了太久了,最后也没写完,也不知道可不可行,哎,还是题写的太少了,菜还是得练,刷题去了这是鼠鼠做的第一个比较大的厂的笔试,本来还想着要不要推到下一批,想想算了,直接冲吧。也不知道能不能过欢迎牛友们一起交流,本人四月底才开始申请暑期实习,希望能和各位大佬们多交流,早日收到满意offer!
查看3道真题和解析 投递携程等公司7个岗位
点赞 评论 收藏
分享
8 27 评论
分享
牛客网
牛客企业服务