#cs0027. 初赛练习27
初赛练习27
当前没有测试数据。
1#include
2using namespace std;
3int n,k,i,a[41];
4void find(int x){
5 int s,i1,j1;
6 bool p;
7 i1 = 0;
8 p = 1;
9 while(p){
10 i1 = i1+1;
11 s = 0;
12 for(j1 = 1;j1<=n;j1++)
13 if(a[j1]>a[i1]) s = s+1;
14 if(s == x-1){
15 printf("%d\n",a[i1]);
16 p = 0;
17 }
18 }
19}
20int main(){
21 scanf("%d%d",&n,&k);
22 for(int i =1;i<=n;i++)
23 scanf("%d",&a[i]);
24 find(k);
25 find(n-k);
26 return 0;
27}
判断题:
(1)程序时间最坏复杂度为 O(n log n)
(2)程序最好时间复杂度为 O(n)
(3)k可以是[1,n]范围内的任意整数。
(4)第 23 行可以改成 scanf("%d",a+i);
选择题:
5)输人
10 4
12 34 5 65 67 87 7 90 120 13,输出()
A.67\n34
B.65 7
C.7\n65
D.12\n13
(6)可以实现一个时间复杂度最少为()的等效代码。
A.O(n)
B.O(nlog2n)
C.O(logn)
D.O(nlogn)
相关
在以下作业中: