通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2020] 中有题目如下:
第1题
#include <iostream> #include <cstdlib> using namespace std; int n; int d[10000]; int find(int L, int R, int k) { int x = rand() % (R - L + 1) + L; swap(d[L], d[x]); int a = L + 1, b = R; while (a < b) { while (a < b && d[a] < d[L]) ++a; while (a < b && d[b] >= d[L]) --b; swap(d[a], d[b]); } if (d[a] < d[L]) ++a; if (a - L == k) return d[L]; if (a - L < k) return find(a, R, k - (a - L)); return find(L + 1, a - 1, k); } int main() { int k; cin >> n; cin >> k; for (int i = 0; i < n; ++i) cin >> d[i]; cout << find(0, n - 1, k); return 0; }
假设输入的 n,k 和 d[i] 都是不超过 10000 的正整数,且 k 不超过 n,并假设 rand() 函数产生的是均匀的随机数。
6)若输入的 d[i] 都为同一个数,此程序的平均时间复杂度是( )
O(n)
O(logn)
O(nlogn)
O(n^2)
所属试卷:CSP-S1提高级初赛试卷[2020]
有说明int a[10]={1,2,3,4,5,6,7
按照标识符的要求,下列选项中,符号不能组成标识符。
使新创建的线程参与运行调度的方法是( )。
下列程序使用指针编程逆序打印输入的10个整数。请仔细阅
下面可以作为软件设计工具的是( )。
有以下程序段:已知字符a的ASCII码十进制值为97,
对定义重载函数的下列要求中,______是错误的。
已知x=[3],那么执行x+=[5]之后x的值为___
以下叙述不正确的是
C语言源程序的基本单位是_________。
以下程序执行结果是___________。
分布在一座大楼或一集中建筑群中的网络可称为( )
有以下程序:程序运行后的输出结果是( )。
给定程序MODI1.C中函数fun的功能是:将s所指字
将test.tar.gz文件解压缩参考答案:tar -
在ps命令中什么参数是用来显示所有用户的进程的?
下列选项中,可能会将进程唤醒的事件是。I.I/O
某“调整工资”处理模块接受一个“职称”的变量,根据职称
若输入字符串:abcde<回车>,则以下while循环
已知a=10,b=15,c=1,d=2,e=0,则表达
对于一个 1到 n的排列 P(即 1到 n中每一个数在
设G是有n个结点、m条边(n ≤m)的连通图,必须删去
断电后会丢失数据的存储器是( )。
(序列重排)全局数组变量 a 定义如下:const i
(最大连续子段和)给出一个数列(元素个数不多于 100
关于ASCII,下面哪个说法是正确的:
(连续邮资问题)某国发行了 n 种不同面值的邮票,并规
输入: 9 3 9 4输出: ____________
设栈 S的初始状态为空,元素 a,b,c,d,e 依次
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2