网易互娱 笔试 游戏研发工程师
2025.3.22
3道编程,考试时长150分钟,共300分,一天内任意时间可答题
没有选择题简直太好了
编程语言c, c++, java皆可,我使用的java
1. 给出每天的股价与本金,输出最大利益的买卖股票操作与最终收益(保留4位小数),n天,m支股票,k元初始资金
遍历股价矩阵,记录每天的收益率最高的股票:(m[i+1][j]-m[i][j])/m[i][j]
如果收益率都不超过0,记录操作-1,否则更新当前资本:asset*m[i+1][j]/m[i][j],记录操作的股票 j
2. 矩阵实现2048游戏,0表示空位置,其它位置为2的0-n次方,要求输出实现了向上,左,下,右移动操作后的矩阵
以向上操作为例,实现步骤为
(1)将所有非0元素依次移到最上方
(2)遍历每一列,从上往下合并相邻相同元素的值:m[i][j]*=2; m[i+1][j]=0;
(3)再次将所有非0元素移到最上方
向左,下,右操作同理
3. 解方程Ax+By+Cz+Dw=N,输入ABCDN,要求输出满足方程的第一组解x, y, z, w(0<=xyzw<=2500),无解输出-1
首先4重for循环遍历,意料之中的超时
再优化,直接计算w=N-Ax-By-Cz,减少1重循环,且每层循环和超过N时终止,还是超时
干脆用哈希表存储Cz+Dw的所有可能值(key为Cz+Dw,value为int[2],即对应的z, w),2重循环xy后在哈希表找值,过了
时间复杂度O(2500^2)
3道编程,考试时长150分钟,共300分,一天内任意时间可答题
没有选择题简直太好了
编程语言c, c++, java皆可,我使用的java
1. 给出每天的股价与本金,输出最大利益的买卖股票操作与最终收益(保留4位小数),n天,m支股票,k元初始资金
遍历股价矩阵,记录每天的收益率最高的股票:(m[i+1][j]-m[i][j])/m[i][j]
如果收益率都不超过0,记录操作-1,否则更新当前资本:asset*m[i+1][j]/m[i][j],记录操作的股票 j
2. 矩阵实现2048游戏,0表示空位置,其它位置为2的0-n次方,要求输出实现了向上,左,下,右移动操作后的矩阵
以向上操作为例,实现步骤为
(1)将所有非0元素依次移到最上方
(2)遍历每一列,从上往下合并相邻相同元素的值:m[i][j]*=2; m[i+1][j]=0;
(3)再次将所有非0元素移到最上方
向左,下,右操作同理
3. 解方程Ax+By+Cz+Dw=N,输入ABCDN,要求输出满足方程的第一组解x, y, z, w(0<=xyzw<=2500),无解输出-1
首先4重for循环遍历,意料之中的超时
再优化,直接计算w=N-Ax-By-Cz,减少1重循环,且每层循环和超过N时终止,还是超时
干脆用哈希表存储Cz+Dw的所有可能值(key为Cz+Dw,value为int[2],即对应的z, w),2重循环xy后在哈希表找值,过了
时间复杂度O(2500^2)
全部评论
时间差不多了哦,老哥快发题解
mark
2048人麻了,一直是9.09%,是题意理解错了吗
mark
相关推荐
昨天 12:57
门头沟学院 前端工程师 记着呢:说的很对,已经工作近7年,就是觉得年轻的时候太多忧虑,没有好好玩一玩,虽然现在我也是很多忧心事,但是真的感觉年轻的时光才是最宝贵的,玩的开心,做自己喜欢的事,全力以赴,这才是应该做的
点赞 评论 收藏
分享
03-30 08:26
厦门工学院 嵌入式软件工程师 点赞 评论 收藏
分享
