高级游戏开发工程师综合测试题:算法实现与多线程编程

需积分: 9 2 下载量 84 浏览量 更新于2024-09-27 1 收藏 36KB DOC 举报
"高级游戏开发工程师综合测试题" 本测试题旨在考察高级游戏开发工程师的编程能力、算法设计能力和多线程编程能力。测试题共四个部分,每个部分都需要实现一个函数或程序,要求代码能够直接编译运行。 部分一: 凑14 在这个问题中,需要实现一个函数,输入多个整数(1<=数值<=13),任意两个数相加等于14就可以从数组中删除这两个数,求剩余数(按由小到大排列)。这个问题考察了候选人的基本编程能力和算法设计能力。 例如,输入数组[9,1,9,7,5,13],输出数组[7,9]。这个问题可以使用哈希表或排序算法来解决。 部分二: 线段重叠 在这个问题中,需要实现一个函数,输入多个一维线段,求出这些线段相交的所有区域(也用线段表示)。一条线段用两个值表示(x0,x1),其中x1>x0。这个问题考察了候选人的算法设计能力和编程能力。 例如,输入线段数组[(2,4),(1.5,6),(0.5,3.5),(5,7),(7.5,9)],输出线段数组[(1.5,4),(5,6)]。这个问题可以使用扫描线算法或分段树来解决。 部分三: 最长顺子 在这个问题中,需要实现一个函数,输入多个整数(1<=数值<=13),返回其中可能组成的最长的一个顺子(顺子中数的个数代表顺的长度)。其中数字1也可以代表14。顺子包括单顺、双顺和三顺。这个问题考察了候选人的算法设计能力和编程能力。 例如,输入数组[1,5,2,3,4,4,5,9,6,7,2,3,3,4],输出数组[2,2,3,3,4,4,5,5]。这个问题可以使用动态规划算法或滑动窗口算法来解决。 部分四: 多线程程序设计 在这个问题中,需要设计一个程序,使用多线程,统计程序源代码行数。源代码是可以编译通过的合法的代码,统计其物理总行数、其中的空行行数、其中含有有效代码的行数、其中含有注释内容的行数。这个问题考察了候选人的多线程编程能力和编程能力。 这个问题需要候选人设计一个多线程程序,使用多个线程来统计源代码的行数。程序需要能够正确地统计源代码的行数和空行数,并且能够正确地处理注释内容。这个问题可以使用 Java 或 C++ 等编程语言来实现。 本测试题旨在考察高级游戏开发工程师的编程能力、算法设计能力和多线程编程能力。候选人需要具备强的编程能力和算法设计能力,能够正确地实现这些函数和程序。 注意:请将答案以邮件附件形式发送到:fmy@basecity.com 联系人:方小姐联系电话:0755-86367526