兰亭集势笔试题
一.选择题:
1.下面程序的输出是 (C):
char s[] = "lightinthebox";
printf("%s%d",s+5,sizeof(s));
A. lightinthbox13 B. inthebox13
C. inthebox14 D. lightinthebox14
2.某请求被随机分配到四台机器进行处理,分配到每台机器的概率分别为:A15%,B20%,C30%,D35%,处理请求的失败概率分别为5%,4%,3%,2%。
现在请求失败,问由C造成的概率最接近与(B):
A. 26% B.28% C. 30% D. 32%
3. ping命令使用的协议是:(C)
A.TCP B.UDP C.ICMP D.DHCP
4. 数据库中建立索引常用的数据结构是(C)
A. 链表 B.队列 C.树 D.数组
5.五个等概率的红球或者黑球连成环后,不存在两个相邻红球的概率是:(A)
A. 11/32 B.9/16 C.13/32 D.11/16
6.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6一次压入栈S.
一个元素出站后即进入队列Q,如果出队列的顺序为e2,e4,e3,e6,e5,e1,则栈S的容量要求最小值为:(B)
A.2 B.3 C.4 D.5
7.数据库查询中,假设在表table中的字段id 和 name设置了索引(id,name),那么下列查询中会用到该索引的是:(B)
A. select * from table where id = 1;
B. select * from table where id in(3,4) and name like '李%';
C. select * from table where id = 3 and name like '%李'
D. select * from table where type = 'test';
8.已知一颗二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为:(A)
A. CBEFDA B.FEDCBA C.CBEDFA D.不定
9.下列排序算法中,占用辅助空间最多的是(D)
A. 堆排序 B.快速排序 C.希尔排序 D.归并排序
10.从社会中随机地找出一些家庭,他们都有两个小孩(而且只有两个小孩),而且他们的小孩子中至少有一个孩子是男孩。
则这些家庭中另一个孩子也是男孩的概率是(A)
A. 1/2 B.1/3 C.1/4 D.1/5
二.程序设计和算法
1.有一个由大小写组成的字符串,现在要求对他进行修改,将其中的所有大写字母排在小写字母的前面(要求时间复杂度O(N),空间复杂度O(1)),大小写字母不要求保持原来的顺序。
思路:双向扫描。交换
2.最长回文串,给出一个字符串,求出其中的最长回文串和回文串的长度。
思路:暴力搜索或者Trie树
3.最大子段和。输入一个整型数组,其中有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组有一个和。
例如输入的数组为1,-2,3,10,-4,7,2,-5,最大的子数组为3,10,-4,7,2输出该数组的和为18
思路:简单DP.老题
4.输入一组整数的集合,将所属集合完全相同的数字放入新的集合中。 例如:input1 = {2,1,3},input2 = {3,2,5,6,7},input3 = {2,4,6,7}, 则输出的结果为:{1},{2},{3},{4},{5},{6,7}
思路:给每个集合一个唯一的质数,如分别为2,3,5 根据每个数所在的集合求出乘积,然后将乘积相同的数字合并即可。如:数字1在集合1中,乘积为2
数字2在集合1,2,3中,乘积为2*3*5 =30 ,依次类推
非计算机专业开发几道题目:大部分相同,除了几个选择题和一道大题目:
选择题3. 根据规律。第五个数是多少?3/2, 2/3, 5/12 ,3/10
A.5/6 B.8/15 C.7/30 D.8/35
选择题7.设R为实数集,函数f: R->R,f(x) = 2^x.则f是()
A.漫射函数 B.入射函数
C.双射函数 D.非入射非满射函数
程序设计题2:Imlement a function that rotates an array by anumber ofpositions,srite the function in[] rotateAraar(int[] input,int n);which rotates the input array by n positions,For example,the array[1,2,3,4,5,6]rotated by 2positions returns [5,6,1,2,3,4]
思路:数组旋转,经典的三次翻转法可以达到O(N)的时间复杂度