通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]
已知类MyClass的定义及程序段(复制构造函数调用相
下列关于运算符重载的说法错误的是
使用 turtle 库的 turtle.fd函数和
输入一段中文文本,不含标点符号和空格,保存为变量 s,
给定程序MODI1.C中函数fun的功能是:计算n!。
有三个关系R、S和T如下:则由关系R和S得到关系T的操
下面结构体的定义语句中,错误的是( )。
有以下程序:程序的运行结果是( )。
以下语句的输出结果是。
以下程序执行结果是_________。
输出如下格式的九九乘法表:1*1=12*1=2 2*2
已知formatter ='good {0}'.for
已知 x = [3,5,3,7],那么表达式[x.in
编写程序,功能是从键盘输入一个正整数x代表分钟数,将其
假设函数指针p指向函数 int func,如果要使
具有结构简单灵活,成本低,扩充性强,性能好以及可靠性高
下列不属于广域网的是( )
以下不正确的转义字符是( )。
在 Linux 系统中,压缩文件后生成后缀为.gz文件
完全删除/tmp下的所有文件用什么命令及参数?
使用什么命令可以在今天午夜运行命令 cmd1 ?
锁粒度是指锁定的对象,MySQL常见的有表级锁、页级锁
有向图G的强连通分量是指有向图的极大强连通子图。
在创建数据库时,每个数据库都对应存放在一个与数据库同名
有以下程序,程序运行后的输出结果是( )。
(双栈模拟数组) 只使用两个栈结构 stack1 和
(最短路线)某城市 的街道是一个很规整的矩形网格(见下
无向图 G 有 7 个顶点,若不存在奇数条边构成的简单
一个包含n个分支结点(非叶结点)的非空二叉树,它的叶结
某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2