#723. 应聘题

应聘题

一、单项选择题(共 15 题,每题 4 分,共计 60 分;每题有且仅有一个正确选项)

1. 十进制数114的相反数的8位二进制补码是: {{ select(1) }}

  • 10001110
  • 10001101
  • 01110010
  • 01110011

2. 小A用字母A表示1,B表示2,以此类推,用26表示Z。对于27以上的数字,可以用两位或者更长的字符来对应,例如AA对应27,AB对应28,AZ对应52,AAA对应703,那么BYT字符串对应的数字是什么? {{ select(2) }}

  • 2018
  • 2020
  • 2022
  • 2024

3.UIM拍摄了一张照片,其分辨率是4096×2160,每一个像素都是24位真彩色,在没有压缩的情况下,这张图片的占用空间接近以下哪个值? {{ select(3) }}

  • 8M
  • 25M
  • 200M
  • 200KB

4.在一个长度为n的数组中找到第k大的数字,平均的算法时间复杂度最低的是: {{ select(4) }}

  • O(n)
  • O(nk)
  • O(nlogn)
  • O(n²)

5.对于“树”这种数据结构,正确的有:

①一个有n个顶点、n-1条边的图是树

②一个树中的两个顶点之间有且只有一条简单路径

③树中一定存在度数不大于1的顶点

④树可能存在环 {{ select(5) }}

  • ①②④
  • ①②③
  • ②③
  • ①②

6.一个二叉树的前序遍历是HGBDAFEC,中序遍历是BGHFAEDC,同时采用顺序存储结构,即用一堆数组元素存储该二叉树中的结点(根节点的下标为1,若某节点的下标为i,则其左子位于下标2i处、右子位于下标2i+1处),则该数组的最大下标至少为() {{ select(6) }}

  • 7
  • 13
  • 15
  • 12

7.在C++语言中,如果a=1;b=0;c=1;那么以下表达式中为1的是: {{ select(7) }}

  • a&&b||b&&c
  • a+b>c||b
  • !(!c&&(!a||b))
  • a+b+c

8.以下哪种排序算法的时间复杂度是O(n²)? {{ select(8) }}

  • 计数排序
  • 插入排序
  • 希尔排序
  • 归并排序

9.已知rand()可以生成一个0到32767的随机整数,如果希望得到一个范围在[a,b)的随机整数,a和b均是不超过100的正整数,且a<b,那么可行的表达式是: {{ select(9) }}

  • (rand()%(b-a))+a
  • (rand()%(b-a+1))+a
  • (rand()%(b-a))+a+1
  • (rand()%(b-a+1))+a+1

10.一个七个顶点的完全图需要至少删除掉多少条边才能变为森林? {{ select(10) }}

  • 16
  • 21
  • 15
  • 6

image {{ select(11) }}

  • (n-1)%30
  • 1+(n-1)%30
  • (n+1)%30-1
  • (n+1)%30
  1. 与二进制小数0.1相同的十六进制数是( )。 {{ select(12) }}
  • 0.8
  • 0.5
  • 0.4
  • 0.1
  1. 分辨率为1920*1080的24位真彩色位图图像所占用的存储空间为( )。 {{ select(13) }}
  • 6075
  • 4050
  • 2025
  • 8100
  1. 定义如下变量:int i=2; int j=3; 则 i/j 的结果为( )。 {{ select(14) }}
  • 0.66667
  • 0
  • 0.7
  • 0.66666....
  1. int Func(int, int); 不可与下列那个函数构成重载( )。 {{ select(15) }}
  • int Func(int, int, int)
  • double Func(int, int)
  • double Func(double, double)
  • double Func(int, double)

二、 完善程序(共 5 题,每题 8 分,共计 40 分;每题有且仅有一个正确选项)

某学科作业布置了N(3≤N≤100000)个题目,第i道题目对应的得分是a,作业的总得分的计算方式为去掉作业中得分最小的一个题,剩下的其他所有题目的得分的平均值。但是小明同学的作业不小心弄丢了一部分,前K部分的题目得分就无法记录了,(1≤K≤N-2),于是小明想,K是多少时,可以得到最高的得分?

注:这时的得分是从第K+1页到最后一页中,删除最小得分后的平均值。

输入第一行是整数N,第二行是n个不超过10000的非负整数表示a;

输出一行,若干个整数表示答案,如果有多个K,请依次升序输出。 image

  1. ①处应填( ) {{ select(16) }}
  • sum=n
  • sum=s[1]
  • sum=s[n]
  • sum=0
  1. ②处应填( ) {{ select(17) }}
  • sum=maxAverage*(n-1)
  • sum+=s[i]
  • sum+=s[n-i]
  • sum=s[i]+minScore
  1. ③处应填( ) {{ select(18) }}
  • (double)(sum+minScore)/(n-i)
  • sum*1.0/(n-i)
  • (int)(sum-minScore)/(n-i)
  • (double)(sum-minScore)/(n-i)
  1. ④处应填( ) {{ select(19) }}
  • k[++cnt]=i;
  • k[cnt++]=i-1
  • cnt=1;k[cnt]=i-1;
  • cnt=0;k[cnt]=i;

5) ⑤处应填( ) {{ select(20) }}

  • k[cnt++]=i;
  • k[++cnt]=n-i;
  • k[cnt++]=n-i;
  • k[cnt]=i;