流程:13号上午开营仪式,下午导师见面(本人因为恶劣天气列车停运,13号下午才报道就没去);14号上午机考;15号上午面试。15号面试完毕就回去了。
机试
考试时间:2026.7.14 8:30-11:30
语言:C/C++
操作系统:windows 10
IDE:DevC++/CodeBlock
题目如下:
- 给定一个非降序排序的数组(arr[i]<=arr[i+1]),要求输出它去重后的数组(保持原有元素相对位置不变)。不能使用set,unique等去重函数。实际输入第一行是数组长度n,第二行是n个整数,按照非降序排列。
- 输入一个数组,使用递归的方法来判断输入数组是否是回文的(头尾比较),禁止使用切片、反转等方式判断。输入格式同1。回文输出YES否则输出NO
- 有一只股票的每天交易价格,构成prices数组。你可以选择在某一天买入,之后的另外一天(不能是同一天)卖出。只能买入卖出各一次。求可能获得的最大收益。如果不存在正收益可以不交易。第一行会给出prices的长度(天数n),第二行给出n个非负整数表示每一天的价格。
- 拓扑排序,给定n门课程(编号0到n-1)和它们之间的一系列偏序关系(谁是谁的前置课程,必须前置课程学完才可以学后续课程)。不考虑一直挂科的情况(doge),判断是否有可行的修读路径。输入第一行给出课程数量n和约束数量p,之后的p行每行给出两个数a和b,表示要修读a必须先修读b。如可修读输出YES,否则输出NO(注意n<=2*10^5,要考虑极端线性链情况是否会超时)。禁止使用图模块算法
- 给定一些指定面额的硬币和总金额,问能够构成总金额所需硬币的最小值。如果无法组合构成输出-1。第一行输入硬币种类数n和总金额amount,下一行输入n个数代表每个硬币的面额(均为正数)。
面试
抽到了三个问题:
- 介绍一下你的科研领域方向(英文问答)
- 你的项目很多,但是每一个都只有两三个月的长度,这是否代表你无法完成长期的(一年以以上)的科研项目呢?
- 你的这些项目哪些是你主导的?你主要做了哪些任务
总结
机试非常友好,而且没说不能用头文件。
面试整体也还行,就是本人太菜了配不上老师哈哈