七牛云2017秋招开发工程师笔试试卷
时长:120分钟 总分:100分
98浏览 0人已完成答题
题型介绍
题型 | 单选题 | 简答题 |
---|---|---|
数量 | 9 | 7 |
假定Qiniuome是一个类,执行下面这些语句之后,内存里创建了几个Qiniuome对象。
Qiniuome a() Qiniuome b(2) Qiniuome c[3] Qiniuome &ra = b Qiniuome *pA = c Qiniuome *p = new Qiniuome(4)
由 4 个 "1" 和 4 个 "0" 组成的 8 位二进制补码,能表示的最小整数是:
已知模块类Hashtable<KeyT, ValueT>支持get(key),set(key,value)和delete(key)的操作,请使用该Hashtable作为唯一成员变量,实现一个栈(Stack)类,支持入栈(push)和出栈(pop)的操作。 请简单描述思路:
请实现入栈和出栈的操作,规格如下: class Stack { public: Stack() voidpush(string value) stringpop()//throw PopEmptyStackException if stack is empty }
class Stack { public: Stack() voidpush(string value) stringpop()//throw PopEmptyStackException if stack is empty }
实现一个 mergeArray 函数,对两个已经排好序(从小到大)的数组进行排序(从小到大),数组里面是数字均为整数,在 [0,100000) 之间,数组长度不超过 10000 。 输入数据有三行,第一行两个数字表示每个数组数字个数,后面两行分别表示两个数组 5,3 9,6,5,3,1 7,4,2 输出 1,2,3,4,5,6,7,9
实现一个 mergeArray 函数,对两个已经排好序(从小到大)的数组进行排序(从小到大),数组里面是数字均为整数,在 [0,100000) 之间,数组长度不超过 10000 。
输入数据有三行,第一行两个数字表示每个数组数字个数,后面两行分别表示两个数组
5,3
9,6,5,3,1
7,4,2
输出
1,2,3,4,5,6,7,9
假设有一个有 n 个元素的数组,求该数组右移 k 个元素后的数组,要求算法的空间复杂度为 O(1) 。 输入数据右三行,第一行表示数组元素个数 n ,第二行表示数组,第三行表示 k 7 1,2,3,4,5,6,7 3 输出 5,6,7,1,2,3,4
假设有一个有 n 个元素的数组,求该数组右移 k 个元素后的数组,要求算法的空间复杂度为 O(1) 。
输入数据右三行,第一行表示数组元素个数 n ,第二行表示数组,第三行表示 k
7
1,2,3,4,5,6,7
3
输出
5,6,7,1,2,3,4
输入 n 个未排序的数字组成的数组,求排序之后相邻元素之间最大的差值。 要求:算法的时间复杂度为 O(n) ,数字取值区间为 [-2^32,2^32-1] 。 输入数据有两行,第一行表示数组的数字量 n ,第二行表示数组 4 4,1,7,5 输出 3
输入 n 个未排序的数字组成的数组,求排序之后相邻元素之间最大的差值。
要求:算法的时间复杂度为 O(n) ,数字取值区间为 [-2^32,2^32-1] 。
输入数据有两行,第一行表示数组的数字量 n ,第二行表示数组
4
4,1,7,5
输出
3