友塔笔试20/4/14

第一题,将矩阵顺时针旋转90度。
应该是个经典题型吧,考的时候盘了会儿逻辑,就是像剥洋葱一样一层一层转,(i,j)转到(j,n-1-i)等,时间复杂度n。
最后卡在测试通过率90%搞不定了,本地试了矩阵边长为1,2,3,4都没错,遂跳到下一题。
第二题,宠物有4个属性,攻防生命和评分,评分根据攻防生命得到,为攻*攻击系数+防*防御系数+生命*生命系数得到。
给2个宠物的所有属性,给第3个宠物的攻防生命,求第3个宠物评分。得不出就输出0。
回忆起可用大一学的线性代数(大概吧,要不就是高数)的矩阵那块知识解决。
大概流程就是将3宠物属性放到一个3*4矩阵里,先将2,3行的一个属性通过与第1行四则运算变成0,再试着将第3行与第2行运算将一个属性变成0,可以的话评分就求出来了,否则输出0.
如:
宠物1属性1,1,1,3,宠物2属性2,4,1,7,给宠物3的攻防生命:3,7,1,求评分:
/1 1 1 3/        /1 1 1 3/        /1 1 1 3/
/2 4 1 7/   =>/1 3 0 4/ =>   /1 3 0 4/
/3 7 1   /       /2 6 0   /        /1 3  0  /
后来想到以前算的过程中经常会用到分数,会出问题,于是将算法改良成:
     /6 6 6 18/
=>/6 12 3 21/
     /6 14 2    /
记住四则运算的运算过程,最后逆推得到结果。
最后只跑通60%,感觉这个思路应该没问题呀,哭。
最后几分钟瞟了一眼第三题。
第三题,m*n矩阵作为迷宫,每个点的值代表权重,为0代表此点走不通,只能上下左右走。
从(0,0)走到(m,n),权重值最小为多少。
没做到这道题,我临时想到的思路是,用递归,一个参数用list或Set等存路径,一个参数代表到此点后的权重值。
方向是向i和j变大的方向(起点在左上,终点在右下,也就是说向右和下的方向走),除非路不通才会绕路。
如果走到终点了,返回此时权重值,否则返回0.
在过程中的点会判断递归的两个结果(右和下两个点都可走)比大小,或者只有一个结果则直接返回。
第四题没看到。
总体难度我不知道该说难还是不难,照比快手那次笔试肯定是难一些,但友塔的“难”又不是我们平时笔试的那种“难”,很难形容。
逻辑上不难,也就是说不太考验逻辑,不需要你去思考一些巧妙算法,看完题你能很快想到解决的思路。
但会考一些远古的知识点,回忆起来很费劲,而且本人两道题都没全测试通过。
#友塔游戏2020春招正在进行中##友塔游戏##笔试题目#
全部评论
刚做完,第二题和你一模一样,早知道来牛客搜一下了🤣
1 回复 分享
发布于 2020-04-15 17:30
一会考试
点赞 回复 分享
发布于 2024-02-28 19:01 黑龙江
矩阵旋转那个,可以先转置然后再交换列把
点赞 回复 分享
发布于 2020-04-16 17:34
面试可难了
点赞 回复 分享
发布于 2020-04-15 20:04
LZ面试了吗,我面完两天了没消息。。。难道是挂了。。?
点赞 回复 分享
发布于 2020-04-15 19:37
第二题感觉是判断第三个向量能否用前两个向量表示吧,就比如样例[1,1,1]和[2,4,1],问[3,7,1]是否为前两个向量的线性组合。按照这个思路的话...还真没写过这方面的代码,怎么判断,或许可以暴力尝试一下参数
点赞 回复 分享
发布于 2020-04-15 00:32
第二题列方程更好理解吧,第三题最短路
点赞 回复 分享
发布于 2020-04-14 22:24
错过完美世界笔试了,哭😫
点赞 回复 分享
发布于 2020-04-14 21:58

相关推荐

05-13 15:58
已编辑
复旦大学 Unity3D客户端
背景:top3本,文科专业,23年毕业生,零游戏开发相关实习经历,无工作经验。毕业后23年下半年考研无果,24年下半年开始学习Unity游戏客户端开发的相关知识,如C++、C#、数据结构、算法、Unity引擎、图形学基础等。写了两个小项目,一个是很简单的光栅化软渲染器,另外一个是Unity开发的一个回合制RPG游戏框架。最近半个月开始找工,海投了一百多份简历,中大厂没有回应(不过也算意料之中),有回应的都是外包或者小厂小工作室。目前只有一个网易外包游戏客户端开发岗位过了,项目我觉得还可以,过两天定offer。现在很纠结和犹豫,不知道要不要接。一方面我清楚外包的各种不好,另一方面我觉得以我现在的情况,继续投简历一两个月下去,也很难找到更好的机会。为了之后更好发展的话,不知道网易外包是否算是目前的一个合理选择,或者说是,混经验的一个跳板。毕竟我零经验非科班的转行往届生,路确实难走,现在社招想要好的机会感觉无异于奢望。因此想听听大家的想法,希望大家可以给点建议,指个路。--------------------------------------------在这里顺便把面经贴出来吧,也不知道是否帮到有需要的朋友:一面(1h10min):1.自我介绍2.C++如何实现多态3.虚函数和纯虚函数,有什么特点4.C++和C#常见容器,C++中vector和list的区别,map和unordered_map底层实现5.C#垃圾回收6.多线程和进程7.IP地址,IPV4和IPV6,8.TCP和UDP,三次握手和四次挥手9.野指针10.智能指针,介绍shared_ptr11.设计模式,说了单例模式、观察者模式、对象池,然后问到MVC12.口撕LRU13.平时常玩的游戏14.游戏设置中有很多设置选项,玩家进行多个勾选、设置等修改操作,如果不想修改了,怎么实现?(我也不知道,就瞎说了个用栈记录修改选项操作,取消保存时候就弹出、恢复)15.ECS框架(不了解)16.详细说下我游戏项目的技能和Buff系统,cd怎么实现的,还有范围指示器的实现17.树的深度优先遍历和广度优先遍历18.走到n阶台阶的方法,简单说一下就行,dp方法,时间复杂度19.写了一道简单的算法题,已知n天股票价格,买卖各一次,最大利润多少。贪心、dp都行20.反问:我哪里需要提升?接触到的工作内容?(商业化功能,前期做些UI、3D模块) 工作环境?二面(1h):1.自我介绍,聊了聊为什么不想进入媒体行业,中间考研(包括半年时间准备从零跨考408,最后专业课复习不完,就又报名跨考了法硕,复试没过未果)、自学的经历2.时间复杂度和空间复杂度,举例说了说3.快排具体流程(只记得双路快排了,所以说了双路快排),时间复杂度,为什么是O(nlogn)4.最近打的游戏,问如何评价游戏性能优化做得好不好(我也不清楚,随便说了说,帧率、加载速度、DrawCall、Batches),举例说相关游戏设置选项,然后说了TAA和SMAA,问原理5.位运算6.线程和协程7.一道和专业关系不大,比较发散的脑力题8.同样和专业关系不大,问一个小团队中午点外卖,线下询问收集大家要点什么一起点,如果做一个内部小工具或者程序来改善流程,有什么思路去实现?9.leetcode41.缺失的第一个正数,问写过没,说写过,可以哈希、排序,忘记原地哈希的解法了。然后让写下排序解法10.反问:项目技术(系统向,用Python多,偏UI和模型),最快多久可以到岗11.最后又问了职业规划(继续深入游戏客户端,想学点shader和渲染)hr面:1.自我介绍,之前经历2.因为做了个Unity回合制RPG游戏的小项目,问为什么做这个?过程中遇到最难的点?怎么解决的?以后有没有要改进迭代的地方?3.找工作考虑什么?4.职业规划?5.是否顾虑外包?6.加班,是否接受工作强度?7.手上其他流程或offer?8.偏好网游还是单机?9.期望薪资10.家庭背景11.最快到岗时间12.反问:项目团队规模等等----5.13更新已拒打算再多找找,后续如果还有面经可能会再更吧
lzx515:复旦去个屁外包
点赞 评论 收藏
分享
评论
3
7
分享

创作者周榜

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