通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2022] 中有题目如下:
第1题
(归并第 k 小)已知两个长度均为 n 的有序数组 a1 和 a2(均为递增序,但不保证严格单调递增),并且给定正整数 k(1≤k≤2n),求数组 a1 和 a2 归并排序后的数组里第 k 小的数值。
#include<bits/stdc++.h> using namespace std; int solve(int *a1, int *a2, int n, int k) { int left1 = 0, right1 = n - 1; int left2 = 0, right2 = n - 1; while (left1 <= right1 && left2 <= right2) { int m1 = (left1 + right1) >> 1; int m2 = (left2 + right2) >> 1; int cnt = ①; if (②) { if (cnt < k) left1 = m1 + 1; else right2 = m2 - 1; } else { if (cnt < k) left2 = m2 + 1; else right1 = m1 - 1; } } if (③) { if (left1 == 0) { return a2[k - 1]; } else { int x = a1[left1 - 1], ④; return std::max(x, y); } } else { if (left2 == 0) { return a1[k - 1]; } else { int x = a2[left2 - 1], ⑤; return std::max(x, y); } } }
④处应填( )。
y = a1[k - left2 - 1]
y = a1[k - left2]
y = a2[k - left1 - 1]
y = a2[k - left1]
所属试卷:CSP-S1提高级初赛试卷[2022]
下列是重载乘法运算符的函数原型声明,其中错误的是
下列实现了动态数组的是( )。
一棵二叉树共有25个结点,其中5个叶子结点,那么度为1
下列叙述中正确的是( )。
如果定义float a[10],x;则以下叙述中正确的
有以下程序程序运行后的输出结果是( )。
设有定义:以下不能将一行(不超过80个字 符)带有空
下列定义变量的语句中错误的是。
以下程序的输出结果是( )。
已知x=[1,2,3],那么表达式not(set(x*
已知x,y= map (int,['1','2']),
已知列表x中包含超过5个以上的元素,那么表达式x=x[
下面程序段运行结果是_________。
给定程序中,函数fun的功能是用函数指针指向要调用的函
以下叙述中不正确的是( )。
______命令能够实时地显示进程状态信息。
在/home目录中查找所有的用户目录的命令是_____
Linux在I386体系结构中支持 ______分页机
下面哪条命令用来显示一个程序所使用的库文件?
运行级定义在:
从D盘根目录备份文件bak1.sql中恢复数据库stu
存在一个等待事务集{T0,T1,„,Tn},其中T0正
条件“BETWEEN 20 AND 30”表示年龄在2
预处理命令行都必须以_____号开始。
设有以下共用体类型说明和变量定义,则变量c在内存所占字
给定程序中,函数fun的功能是:在形参s所指字符串中寻
有三个关系R,S和T如下图所示,则由关系R和S得到关系
本题t是s的子序列的意思是:从s中删去若干个字符,可以
如果平面上任取 n个整点(横纵坐标都是整数),其中一定
有 6 个城市,任何两个城市之间都有一条道路连接, 6
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2