第I卷(选择题)
总共15小题,每题2分,共30分。
一、单选题
第II卷(阅读程序题)
总共3道大题,每道大题含6-7道小题,判断题和单项选择题。判断题正确填“✓”,错误填“x”。除特殊说明外,每道判断题1.5分,每道单项选择的3分。总共40分。
第III卷(完善程序题)
总共2道大题,每道大题含5道小题,全部为单项选择题。每道单项选择的3分。总共30分。代码中需要完善的部分都是由数字并且有下划线组成。
一、(二分查找)输入n个升序数字序列和一个目标数字target,如果target在序列中,输出它所在的下标,下标从0开始,如果不在序列中,输出一个下标位置,表示将target插入在这里整个序列依然有序。
滑动窗口的位置 最大值
--------------- -----
[1 3 -1] -3 5 3 6 7 3
1 [3 -1 -3] 5 3 6 7 3
1 3 [-1 -3 5] 3 6 7 5
1 3 -1 [-3 5 3] 6 7 5
1 3 -1 -3 [5 3 6] 7 6
1 3 -1 -3 5 [3 6 7] 7
提示:通过单调队列来实现,当元素滑入窗口时检查当前元素是否大于等于队尾元素,如果大于等于队尾元素,则队尾元素出队,直到队空或者队尾元素大于当前元素为止,这样队列元素单调递减,最大值就在队头元素,同时每次滑动窗口要检查队头元素是否已经不在窗口里,如果不在,需要队头元素出队。