完美世界 校招 笔试真题

8.8开

8.15投

9.9 笔试

牛客 90min

单选x10 多选x5(java、算法)、编程x3(57%、0、0)

  • 在开发一款游戏时,您需要优化关卡数据的存储。关卡数据被表示为一个32位整数,其中每个二进制数位表示关卡中的一个区域,1表示已解锁,而0表示未解锁,连续为1的为连续解锁区域。现在玩家拥有一次解锁未解锁区域的机会,请编写一个程序,输入一个32位整数的关卡数据data,计算玩家在该关卡任意解锁一个区域(或不进行解锁)后,可以获得的最大连续解锁区域的长度。
  • 如图所示,ACB所在的曲线为预测的玩家运动轨迹,点A(O.0)为玩家位移的起点,点B(4,0)为预测玩家位移的终点,点C(2,-1)为按照这个轨迹移动秒所在的位置,但是因为地形因素,需要将终点修正为点D(0,2),所以原有的运动轨迹会被修正为点AED所在的曲线,此时移动n秒所在的位置为点E(0.5,1).请实现一个算法,输入点A(位移的起点)、B(预测轨迹的终点)、C(按照预测轨迹位移秒后所在的位置),、D(修正轨迹后的终点)后,计算出点E(按照修正后轨迹位移n秒后所在的位置)。为避免不同算法导致的精度问题,要求返回一个长度为2的String数组,array[O]为x,array[1]为y,坐标点四舍五入,保留两位小数
  • 请实现一个算法,输入点A(位移的起点)、B预测轨迹的终点)、C(按照预测轨迹位移秒后所在的位置)、D(修正轨迹后的终点)后,计算出点E(按照修正后轨迹位移n秒后所在的位置)。为避免不同算法导致的精度问题,要求返回一个长度为2的String数组,array[o]为x,array[1]为y,坐标点四舍五入,保留两位小数

难 后续无消息 估计挂了

#软件开发2024笔面经##java##完美世界##笔试##校招#
【一加仑】Java秋招面经 文章被收录于专栏

bg:24届985本科计算机类,一段中厂实习,力扣七十题左右。

全部评论

相关推荐

#tme#  #qq音乐# --------4.18--------上午约了4.19的面试,晚上做了笔试,AK了,笔试题解可以看我的另一篇帖子,前两题签到题,主要是后两题的题解。--------4.19--------问项目,完了后是两个题目:第一个题目是算法题,给一个数组arr和一个数x,要求用arr中的元素组合出一个数n,满足n<x,且n尽可能地大,比如arr={1,2,4,9},x=2533,则输出n=2499,算是中等偏简单的题吧,思路很清晰,用贪心,从高位往低位遍历x,设当前遍历到的数字为curBit,则需要在arr中找到≤curBit的最大的那个数findBit,然后往n中拼接,此时还要用一个布尔变量lower来记录,findBit和curBit的关系,如果curBit大于findBit,则设置lower为false,从此之后,策略转变,每次拼接arr中最大的数即可。(不完美,有没法处理的情况,但面试官没有深究)第二个题目是概率题,给50个球,其中有2个黑球,其他都是白球,将其分成3堆,问两个黑球在同一堆的概率,想了一会儿,想到了高中数学概率题的经典解法:隔板法,50个球有49个空隙,分成3堆,也就是从49个空隙里选2个来插入板子,因此分母是c(2,49),两个黑球在同一堆的方案数不太好想,反向来想,不在同一堆的话,可以想象两颗黑球相邻,那么他俩的之间的空隙肯定要插一个板子,而另一个板子在剩下的48个空隙里随意插,这里的方案数是48,因此最后的答案是(c(2,49)-48)/c(2,49)(不确定对,恳请各位数学大佬指教)下午通知通过了一面,约二面,约到4.22上午--------4.22--------奇了怪了,一上来就说写一道算法题,共享屏幕,题目、分析和代码如图所示,然后是问点项目,就结束了,总共就四十分钟左右吧,不会是kpi面吧。。过了一个小时,上公众号一查,流程终止。。。真就kpi面呗找暑期实习就到这里吧,不再找了,结束!
点赞 评论 收藏
转发
点赞 6 评论
分享
牛客网
牛客企业服务