网易雷火测开笔试题 题解

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<Integer> arrayList1 = new ArrayList<>();
        ArrayList<Integer> arrayList2 = new ArrayList<>();
        String[] s = scanner.nextLine().split(" ");
        for (String s1 : s) {
            String[] split = s1.split(",");
            arrayList1.add(Integer.parseInt(split[0]));
            arrayList2.add(Integer.parseInt(split[1]));
        }
        getMax(arrayList1, arrayList2, 0, 0, 0);

        for (int i = 0; i < res.size(); i++) {
            if (i < res.size() - 1) {
                System.out.print(res.get(i) + " ");
            } else {
                System.out.print(res.get(i));
            }
        }
    }

    public static int sum = Integer.MIN_VALUE;
    public static int W = 20;
    public static ArrayList<Integer> tmp = new ArrayList<>();
    public static ArrayList<Integer> res;

    public static void getMax(ArrayList<Integer> arrayList1, ArrayList<Integer> arrayList2, int i, int num1, int num2) {

        int n = arrayList1.size();
        if (num1 > W) {
            return;
        }
        if (i >= n) {
            if (num2 > sum) {
                sum = num2;
                res = new ArrayList<>();
                for (Integer integer : tmp) {
                    res.add(integer);
                }
            }
            return;
        }
        for (int j = 0; j <= 1; j++) {
            if (j == 0) {
                tmp.add(0);
                getMax(arrayList1, arrayList2, i + 1, num1, num2);
                tmp.remove(tmp.size() - 1);
            } else if (j == 1) {
                tmp.add(1);
                getMax(arrayList1, arrayList2, i + 1, num1 + arrayList1.get(i), num2 + arrayList2.get(i));
                tmp.remove(tmp.size() - 1);
            }
        }
    }

#网易雷火##网易雷火2023秋招笔试虐我的瞬间##笔试##网易雷火游戏测试#
全部评论
主函数不用多说,直接nextLine然后split 对数据处理就用回溯,中间集合要处理好
1 回复 分享
发布于 2022-08-14 18:07
01背包保存路径应该也能过
点赞 回复 分享
发布于 2022-08-14 20:02

相关推荐

是第三次面试。全是八股拷打。【面试问题】1.&nbsp;请先做一下自我介绍。2.&nbsp;你主要使用哪些编程语言?3.&nbsp;用&nbsp;Go&nbsp;和&nbsp;Python&nbsp;分别做过什么?4.&nbsp;对&nbsp;C++&nbsp;标准库里的容器有了解吗?说说&nbsp;map&nbsp;或哈希表的实现。5.&nbsp;哈希表如何解决冲突?6.&nbsp;除链地址法外,还有哪些冲突解决方法?7.&nbsp;开放寻址删除元素时需要注意什么?8.&nbsp;如何避免哈希表退化成少数长链?9.&nbsp;unordered&nbsp;系列容器如何避免退化?10.&nbsp;红黑树具体实现了解多少?11.&nbsp;如何设计一个既支持快速插入删除,又支持下标索引的容器?12.&nbsp;deque&nbsp;的大致实现原理是什么?13.&nbsp;请手写双向链表结构,并实现尾部插入。14.&nbsp;Node**&nbsp;与&nbsp;Node*&nbsp;的区别是什么?15.&nbsp;C++&nbsp;智能指针有哪些?各自作用?16.&nbsp;weak_ptr&nbsp;如何打破循环引用?17.&nbsp;如何检测代码存在循环引用或内存泄漏?18.&nbsp;其他语言的垃圾回收策略有了解吗?19.&nbsp;进程运行时内存布局是怎样的?20.&nbsp;全局/静态变量位于哪个段?21.&nbsp;为什么要做内存对齐?22.&nbsp;多进程间有哪些通信方式?23.&nbsp;共享内存读写时如何同步?24.&nbsp;除共享内存、管道、信号外,还有哪些&nbsp;IPC&nbsp;方式?25.&nbsp;TCP&nbsp;连接如何检测对端断开?26.&nbsp;TCP&nbsp;三次握手、四次挥手过程?27.&nbsp;游戏为何常用&nbsp;UDP?需在&nbsp;UDP&nbsp;之上做哪些改进?28.&nbsp;KCP&nbsp;为什么延迟更低?29.&nbsp;UDP&nbsp;服务端如何维护连接状态?30.&nbsp;Redis&nbsp;的&nbsp;zset&nbsp;怎么实现?31.&nbsp;跳表原理是什么?32.&nbsp;Redis&nbsp;集群如何把数据分布到各节点?33.&nbsp;求数组第&nbsp;K&nbsp;大元素有哪些方法?34.&nbsp;如何用&nbsp;Redis&nbsp;实现分布式锁?35.&nbsp;最长「0&nbsp;和&nbsp;1&nbsp;数量相等」子串如何做?36.&nbsp;若把&nbsp;0&nbsp;换成&nbsp;-1,求和为&nbsp;0&nbsp;的最长子段,有思路吗?37.&nbsp;在&nbsp;Linux&nbsp;源码方面做过哪些学习或开发?38.&nbsp;还有想补充的项目细节吗?39.&nbsp;对游戏服务器开发有哪些了解?40.&nbsp;平时玩哪些游戏?41.&nbsp;未来职业规划是什么?更倾向游戏还是其他方向?42.&nbsp;有没有想进一步了解的问题?
校招求职有谈薪空间吗
点赞 评论 收藏
分享
base:杭州时长:1&nbsp;h1.&nbsp;请做自我介绍。2.&nbsp;重点展开说明在XX担任测试工程师的实习工作内容。3.&nbsp;举例说明在测试过程中发现的bug,以及如何将其编写成脚本进行日常自动化运行验证。4.&nbsp;之前提到的电源故障(100次中发生1-5次)是概率性发生的,为什么硬件故障会概率发生?5.&nbsp;算法手撕,二叉树最大路径。6.&nbsp;算法手撕,合并两个有序数组。7.&nbsp;python&nbsp;浅拷贝和深拷贝。8.&nbsp;面向对象语言的特点。9.&nbsp;有一根粗细均匀的金条,需让人为你工作7天,每天日结同等工资,最多切2刀,如何切割并发放工资,7天内将金条发完(总工资为这根金条)?10.&nbsp;针对游戏中的等级经验表(Excel表,含等级与对应经验两列),作为测试开发人员,需编写表检查工具验证策划填写的数据是否合理,能想到哪些通用检查规则?开始先问实习,问的内容不多,估计是不感兴趣吧。然后开始让写代码题,第一道二叉树最大路径,我看牛客那里标记是较难题,三个示例都能通过,提交只能通过一半,报错显示数组越界,没改出来,推测是需要优化算法逻辑。第二道是合并两个数组的简单题,写出来了。后面问了点python八股,一道智力题,一道测试场景题。无反问环节。10.23&nbsp;面试给个二面吧,秋招到现在一直卡在一面...
查看10道真题和解析
点赞 评论 收藏
分享
【面试问题】1.&nbsp;可以听到我说话吗?2.&nbsp;在我们沟通之前,你方便就你自己的个人情况做个简单自我介绍吗?请突出你觉得重点或亮点的部分。4.&nbsp;个项目你是基于什么样的想法去做的?目的是什么?5.&nbsp;你投递了游戏行业,是基于什么样的契机和想法想往游戏转?6.&nbsp;除了游戏,你还投递了哪些行业?7.&nbsp;你如何看待即将跨入职场的第一份工作?会做哪些选择和规划?8.&nbsp;你觉得个人在胜任后端/游戏开发岗位上有哪些优势?秋招过程中观察到哪些短板?9.&nbsp;项目里挑战最大的是哪一个?具体描述当时的困难点与解决思路。10.&nbsp;回顾整个过程,你觉得解决得顺利吗?有没有遇到挫折?11.&nbsp;过往生涯里,有没有遇到过对你而言重大的挫折或失败?13.&nbsp;在学习或项目过程中,有没有哪件事让你觉得特别有意义、有成就感,不仅仅因为待遇或加成?14.&nbsp;你觉得学校项目与实际工程化落地会有什么不同?入职后你希望先接触哪些内容?16.&nbsp;竞赛除了提升编程能力,对你还有什么其他帮助?17.&nbsp;小组比赛里有没有遇到分工或矛盾问题?你们是如何处理的?18.&nbsp;你们参赛拿到的最好奖项是什么?19.&nbsp;你说对游戏感兴趣,能介绍一下自己的游戏体验深度吗?21.&nbsp;第一份工作在待遇方面你的预期是多少?22.&nbsp;你现在手里有哪些&nbsp;offer?23.&nbsp;你还有什么问题想向我们了解?工作节奏:早上九点半到十点就是上班,晚上是六点半到七点的这个下班时间(应该是非研发)。995(研发)
发面经攒人品
点赞 评论 收藏
分享
评论
3
17
分享

创作者周榜

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