一、单项选择题(每题只有一个正确选项,每题2分,共30分)
二、程序阅读理解题(共3大题。程序输入不超过数组或字符串定义的范围,除特殊说明外,判断题1.5分,选择题3分,共计40分)
(1)(10分)
判断题
(2)(14.5分)
l判断题
(3)(15.5分)
假定在所有数据中,保证m<=10*n
三、程序完善题(共2大题,每个选择题3分,共计30分)
1. (选择数对)有 n 个小朋友分别拿着一个数字,现在要求你将小朋友两两配对,要求每对小朋友手上的数字之差大于给定值 k。问最多可以从数组中选出多少对符合条件小朋友。(每个小朋友最多只能和另外一个小朋友配对,不能脚踏两条船)
输入格式:第一行给出 n,k 分别表示小朋友的个数,以及参数 k。(),接下来给出 n 个数字,表示每个小朋友手上的数字。
提示:二分最终的结果,对于二分的结果 mid,在 check 函数中 O(n) 判断能否选出 mid 对小朋友符合要求,最终保留二分的结果。
2.(接龙)对于一个长度为k的整数序列:,我们称之为接龙序列当且仅当的首位数字等于的末位数字,对于所有。
现在给定一个长度为n的数列,请问从中最少删除多少个数,使得剩下的序列是一个接龙序列。
数据保证:1<=n<=10^5,1<=ai<=10^9
评价对象得分