9.4 网易互联网笔试 统计及思路

开发岗,写的是通用技术

四道题分值是不一样的,分别是15,20,30,35,总分100
各位可以算一下总分呀,比如第一题通过60%,就是15*60% = 9分

第三题(删除k次x之后的最大值):
因为删除次数10^9,用什么数据结构删这个次数都得超时,我也试了priority queue也超时。所以我的思路是计算出要删几次,而不是一次一次删。
比如假设数组为[4 3 11 2 1],删10000次,每次删5。前2次都是对11删,变成[4, 3, 1, 2, 1],还剩9998次。之后每5次会把所有数各删一次,所以删了9998/5 = 1999个回合,余3次,删完这3次之后剩下的是原来第4大的,即数组里中的1,直接算出结果为1-(1999*5)=-9994。
具体实现,读完数据后统计一下,要删多少次才能到这种“循环删”的阶段,如果k小于该次数,按优先队列的方法做,如果k大于该次数,按上面的方法。

第二题(01字符串):
直接构造,符合条件的字符串,k个1最多有(k-1)对相邻的1,实际有t对相邻的1,则需要在连续的k个1中插入(k-1)-t个0,比如k=8, t=3,那么生成101010101111,之后根据n的数量补零。
return -1的情况:(1)t>=k,因为最多只能有(k-1)对相邻的1,(2)上述构造完的字符串长度>n。

#网易##网易互联网##笔试#
全部评论
多少能进面啊
点赞 回复 分享
发布于 2022-09-04 17:13 美国
第二题看懂了
点赞 回复 分享
发布于 2022-09-04 20:55 吉林
第三题看不懂😂
点赞 回复 分享
发布于 2022-09-04 20:56 吉林
请问你是java的吗,我先优先队列,保证max-min<x,然后用和你一样的思路,还是超时。你不会是cpp吧
点赞 回复 分享
发布于 2022-09-04 22:55 浙江
第三题可以再详细描述一下题意不,感谢
点赞 回复 分享
发布于 2022-09-07 00:43 山东

相关推荐

点赞 评论 收藏
分享
头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
1 4 评论
分享
牛客网
牛客企业服务