【2022网易雷火】游戏研发笔试-AC代码及题目分享

本文分享了2022年网易雷火游戏研发笔试经历,包括四道编程题的题意、输入输出描述、样例数据以及AC代码。题目涵盖抽奖模拟、魔法牌计算、字母语句模拟和藏宝图问题,重点考察细节处理和模拟编程能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3个小时,4道题目,雷火的题目不在于难,更在于对细节的把控和写大模拟的耐心,花了一个半小时,AC了3.85,直接交卷退了。第一题AC,第二题AC,第三题85%,第四题AC。下面分享一下大致的题意和对应的代码,就不多说了,最近很累(代码可能会有贴错的情况,如有望指正,感谢~)。


T1-小Y抽奖

题意

n行m列个奖励格子,每次抽奖消耗一个道具。每个格子奖励的数量有限且各不相司。每个格子被抽到一次,剩余的奖励数量-1。剩余的奖励数量为0时,则不会再抽到该格子。小Y抽了好多次,但一直没有抽到最想要的奖励,给出示例图中的情况。求再买几个猪心,才能保证抽到一次她想要的奖励。

输入描述

第一行:两个正整救n和m (1<= n, m<=100),表示n*m个奖励格子。
第二行:两个正整数x和y ( 1<= x<= n,1<=y<=m),表示小Y想要抽到的奖励位置(保证小Y想要的奖励剩余数量不为0)。
接下来n行

### 关于网易雷火游戏策划笔试题及相关准备资料 针对网易雷火的游戏策划岗位,虽然具体的笔试题目可能因年份和批次有所不同,但从已有的参考资料来看,可以总结一些常见的考察方向以及备考建议。 #### 常见考试形式与内容 根据已有信息[^1],网易雷火的校招面试通常会涉及以下几个方面: - **计算机科学基础知识**:包括数据结构、算法设计等内容。这些知识点对于理解游戏逻辑实现至关重要。 - **游戏编程基础**:熟悉C++或其他常用开发语言的基础语法及高级特性。例如,在处理复杂场景时如何优化性能等问题。 - **游戏网络编程**:了解客户端服务器架构原理及其在网络环境下的应用实践情况。 具体到游戏策划职位上,则更加注重创意构思能力与实际操作技巧相结合的能力测试: ##### 创意思维类问题 这类题目主要评估应聘者能否提出新颖有趣且具有可行性的设计方案。比如,“如果让你负责一款多人在线竞技类手游,请描述其核心玩法机制。” 这种类型的提问不仅考验考生的知识储备量,还要求他们能够灵活运用所学理论解决现实中的产品需求分析工作。 ##### 数理逻辑推理型挑战 除了创意外,还需要具备一定的数理思维来支持决策过程中的定量分析环节。“给定一组玩家行为统计数据,请计算并解释某项指标的变化趋势”,此类任务旨在检验候选人是否能通过数据分析得出有价值的结论用于指导后续的产品迭代计划制定等工作当中去执行落实到位才行啊亲! 另外值得注意的是时间管理也很重要哦!正如一位参加过该企业考核的朋友提到自己用了三个小时完成了四道不同难度级别的程序编写作业之后表示尽管大部分都能顺利完成但是由于前期花费较多精力导致最后剩余少量未完全解答完毕的部分遗憾失分啦所以提醒大家合理分配作答顺序哟~[^2] 至于像关于分割数组这样的技术性较强的小练习则可能是为了进一步筛选那些既懂业务又擅长编码的同学而设置出来的附加项目之一吧?毕竟作为现代数字化娱乐产业的一员我们不仅要懂得怎么讲故事还要学会用代码把它变成真实可玩的作品呢😊[^3] ```python def max_sum_of_subarrays(nums, k): n = len(nums) prefix_sums = [0]*(n+1) for i in range(1,n+1): prefix_sums[i]=prefix_sums[i-1]+nums[i-1] dp=[[float('-inf')]* (k+1)for _ in range(n)] dp[0][1]= nums[0] for j in range(2,k+1): stack=[] for i in range(j-1,n): while(stack and ((prefix_sums[i]-prefix_sums[stack[-1]])/(i-stack[-1]) >= \ (prefix_sums[stack[-1]]-prefix_sums[j-2]) / (stack[-1]-(j-2)))): stack.pop() if stack: prev=stack[-1] dp[i][j]=max(dp[i][j],dp[prev][j-1]+sum(nums[prev+1:i+1])) temp=(prefix_sums[i]-prefix_sums[j-2])/(i-j+2) while(stack and (prefix_sums[i]-prefix_sums[stack[-1]])/(i-stack[-1])<=temp): stack.pop() stack.append(i) return max([dp[n-1][c] for c in range(1,min(k+1,n)+1)]) ``` 以上是一个简单的例子展示了如何利用动态规划方法求解最大连续子序列之和的问题变体——即将原列表划分为指定数量区间后的最优结果是什么样子。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米莱虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值