2019北邮网安院机试真题(回忆版)@lantin

2019北邮网安院机试真题(回忆版)

细不谈,前两题真的都是签到题,会简单排序和if-else都可以写的出来的题目。网安院的机试基本上是两道签到题,C题是数据结构题,D题是算法。做到保2争3,保3争4面试不出原则问题基本上复试稳了。

Problem A
(牙刷)背景是北邮学苑超市,输入四支牙膏的价格,输出最便宜牙膏的价格。
输入输出要求:
1.第一行输入T表示测试用例共T组、2.第二行输入四个整形分别表示四支牙膏的价格(用空格分隔)、3.分别输出每一组数据的最便宜牙膏价格。
例子:
2
10 9 8 7
1 2 3 4
7
1

Problem B
(闰年)满足以下两个条件之一的年份称之为闰年:
1.能被4整除但是不能被100整除、
2.能被400整除。
现输入一个年份区间,输出区间内闰年的个数。
输入输出要求:
1.第一行输入T表示测试用例共T组、2.第二行输入两个整形分别表示区间的左右范围(用空格分隔)、3.输出区间内的闰年数目。
例子:
2
2000 2008
1990 1998
3
2
(闰年这个题在北邮OJ好像是有类似题目的,虽然题目本来也很简单,但是我觉得北邮网安院机试还是有出OJ原题的趋势的?)

Problem C
(链表)
若共有5个元素,则初始链表如下:1->2->3->4->5->null(n个元素则初始链表为1->…->n->null)
定义对链表有以下三种操作:
第一种操作(格式为k a):查询,当输入1 3时,即表示是第一种操作,查询链表第三个元素,输出3。
第二种操作(格式为k):转置,即输入2时,即表示是第二种操作,链表倒置为5->4->3->2->1->null。
第三种操作(格式为k a):删除,当输入3 3时,即表示是第三种操作,删除链表的第三个元素,此时链表为1->2->4->5->null。
输入输出要求:
1.第一行输入T表示测试用例共T组(此题要求T恒等于1)、2.第二行输入n表示共有几种操作、3.接下来输入k a(表示第k种操作,a为链表中的元素下标,若k=2则不必输入a)、3.只有操作1(查询)有输出。
例子:
(假设初始链表为1->2->3->4->5->null)
1
5
1 3
3
2
1 2
4
3 2
1 2
3
(此题本该用链表来做,但是考场上很多人用数组也可以解出这道题并通过,所以不一定非要用题目要求的数据结构)

Problem D
题目没来的及看,考后听大佬说是个求最小生成树的题,用Floyd算法解出,不知道真的假的。

总结:这次考试网安院4A的人有21个,比起网研88个4A少很多,这可能也是报网安院竞争小的原因?之后面试的时候听到面试导师无意间说出“那个同学机试3A啊?那很强啊。”基本上可以说明今年这个题拿到3A就已经能在综合面试中有较大优势了。而且题目不难,希望大家都至少要奔着3A去。

你可能感兴趣的:(北邮,机试)