网易雷火 笔试
#网易雷火#
第一题不用说大家应该都会
第二题dp然后优化一下也过了
第三题看了大家的解释才发现自己理解错了(我以为要一层一层打过去,打不过就提升自己,然后随时可以打boss,原来是想打哪层打哪层,如果是这样,我的思路是开个栈,每次更新战力把比未入栈的比自己小的从小到大(由于递增输入,所以直接从key遍历就好)压入栈里面(记录一个key值,下次更新战力直接从key值往后遍历数组),然后每次都弹出栈顶与提升自己的收益作比较,看选那个,选提升自己的话就把弹出的栈顶压回去,然后用一个数组存通过n个房间的最大值,直到找到比输入的boss中的最大值还要大的值,就不用继续进房间,然后最后输出刚好大于每个boss的房间数)不知道自己的思路对不对,大佬教教
第四题 模拟永劫,感觉把永劫的逻辑都快写出来了,真难吧
第一题不用说大家应该都会
第二题dp然后优化一下也过了
第三题看了大家的解释才发现自己理解错了(我以为要一层一层打过去,打不过就提升自己,然后随时可以打boss,原来是想打哪层打哪层,如果是这样,我的思路是开个栈,每次更新战力把比未入栈的比自己小的从小到大(由于递增输入,所以直接从key遍历就好)压入栈里面(记录一个key值,下次更新战力直接从key值往后遍历数组),然后每次都弹出栈顶与提升自己的收益作比较,看选那个,选提升自己的话就把弹出的栈顶压回去,然后用一个数组存通过n个房间的最大值,直到找到比输入的boss中的最大值还要大的值,就不用继续进房间,然后最后输出刚好大于每个boss的房间数)不知道自己的思路对不对,大佬教教
第四题 模拟永劫,感觉把永劫的逻辑都快写出来了,真难吧
全部评论
第三题,我是把怪物用数组存起来,然后排序,每次去找能够打死的最厉害的怪。如果他大于自己除以10就进行提升,然后删除怪物。boss则是用最小堆存,每次取堆顶判断。但最后只过了0.73
第三题没必要,他本身输入的时候就是有序的,每次战斗力提升后遍历一下房间就行,走过的就标个记。
相关推荐
![](https://static.nowcoder.com/fe/file/oss/1716965564844UEBJN.png)
![](https://static.nowcoder.com/fe/file/oss/1716965585666UBBME.png)
OPPO
| 校招
| 超多精选岗位
点赞 评论 收藏
分享