贝壳8.18前端笔试题原题,组队参加题解活动呀~
冒险扣下来了贝壳的前端笔试题,希望能有大佬帮忙做一下答案,我们一起参加牛客网的题解活动
私信我或者评论区回复答案都可以哈~
第一部分
1.假定系统中有五个进程(p0,p1,p2,p3,p4)和三类资源{A,B,C},各种资源的数量分别为10,5,7,在T0时刻的资源分配情况如图所示,则执行序列安全的是( )
A. P1,P4,P3,P2,P0
B. P1,P2,P4,P3,P0
C. P1,P3,P4,P2,P0
D. P1,P2,P4,P0,P3
A. 供应商编号允许重复,商品编号不允许重复
B. 供应商编号、商品编号都允许重复,但是两者的组合不允许重复
C. 供应商编号不允许重复,商品编号允许重复
D. 供应商编号、商品编号都不允许重复
A.存储过程增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
B.存储过程能实现较快的执行速度。如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快。
C.存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,每次调用时重新编写该存储过程的SQL语句。数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。
D.存储过程能够减少网络流量。针对同个数据库对象的操作(如查询,修改),如果这一操作所涉及的Tansaction- SQL语句被组织程存储
过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而大大增加了网络流量并降低了网络负载。
23, 376, 205, 132, 61, 190, 29, 4, 40。若使用SCAN算法,则磁盘的寻道距离为( )
A. 868
B. 648
C. 830
D. 760
A. 6
B. 5
C. 4
D. 7
A. 两种算法构造的最小生成树算法唯一
B. Dijkstra算法是寻找离固定顶点距离最近的顶点
C. Prim算法的时间复杂度与Dijkstra算法相同,都是O(|n^2|)
D. Prim算法要寻找的是离已加入顶点距离最近的顶点
A. {0,1,3,2,4}
B. {0,1,4,2,3}
C. {0,4,2,1,3}
D. {0,3,1,2,4}
A.使用第一个记录作为轴值
B.使用最后一个记录作为轴值
C.随机选取轴值
D.取第一个记录,中间记录和最后一个记录三者中值居中的作为轴值
A. 其他几项都不对
B. O(nlogn)
C. O(n*n)
D. O(n)
A. smtp
B. dns
C.http
D.pop3
A. (30,25,35,15,20,5,10)
B. (20,10,15,35,30,25,5)
C. (20,30,5,15,10,25,35)
D. (5,10,15,20,25,30,35)
A. 360
B. 370
C. 390
D.380
A. 'kq'是'klmnopq'的子串
B.若串s=' facetime' ,其子串的个数为36
C.若串s=' facetime' ,其子串的个数为37
D. 'opq'是'klmnopq'的子串
A. 46,42,18,20;28,40
B. 27,48,25,43,40
C. 15,45,40
D. 47,45,18,27,36,40
A. 1,10,00,11
B. 00,01,10,11
C. 0,10,110,111
D. 000,001,01,1
int a=0;
class someClass{
int b;
static int c;
};
int main(){
int d=0;
someClass*p=new someClass();
return 0;
}
关于以上代码中的变量在内存中的存储位置描述不正确的是( )
A. b存在堆区
B. c存在堆区
C. d存在堆区
D. a存在全局变量区
#include <iostream>
using namespace std;
class Base
{
public:
virtual void f(){cout <<"fO+";}
void g(){cout <<"gO+";}
};
class Derived:public Base
{
public:
void f(){cout <<"f+";}
void g() {cout<<"g+";}
};
int main()
Derived d;
Base*p= &d;
p->f();
p->g();
return O;
}
运行时输出的结果是()
A. f0+g0+
B. f+g+
C.f0+g+
D.f+g0+
#include <stdio.h>
int f(int i);
void main()
{
int m= 1000,n;
n=f(f(f(m)));
printf(" %o\n",n);
int f(int i)
{
static floatj= 2;
j++;
return i/j;
}
运行时输出的结果是()
A. 16
B. 20
C. 17
D. 10
{
Int x=3,y=4,z=5;
!(x+y)+z-1&&y+z/2;
return 0;
}
A. 0
B. 2
C. 1
D. 6
A.标识符拼写错误
B.数组下标越界
C.除数为0
第二部分
编程题(20.0分)
扑克牌
时间限制:C/C++语言1000MS;其他语言3000MS
内存限制:C/C++语言65536KB;其他语言589824KB
题目描述:
众所周知,一副扑克牌按大小分为13种牌,每种牌各4个花色,总共52张牌。规定13种牌按从小到大的顺序分别为A23456789TJQK,现在从一副牌中抽取20张,每轮选择下列规则中的一项出牌:
①单牌:任意一张牌,如Q;
②对子:两张大小相同的牌,如77;
③三带:三张大小相同的牌,附带至多一张任意牌,如333A;
④四带:四张大小相同的牌,附带至多两张任意牌,如KKKK58;
⑤顺子:至少五张大小连续的牌,如789TJQ。
那么,至少需要多少轮才能将20张牌出完?
输入
输入长度为20的字符串,表示所抽取的20张牌。
输出
输出将20张牌出完所需的最少轮数。
样例输入
8K67A65K27T59K346AK2
样例输出
4
Hint
样例解释
4轮出牌顺序为:
A234567
56789T
KKKKA2
6
编程题(20.0分)
道路修建
时间限制:C/C++语言1000MS;其他语言3000MS
内存限制:C/C++语言65536KB;其他语言589824KB
题目描述:
山区里有N个村庄,第i个村庄的海拔高度为Ai。现在要在村庄之间修建道路,使得从每个村庄出发,都能到达其它所有村庄。在第i和第j个村庄之间修建道路的费用取决于海拔较高的村庄的高度,即费用为max{Ai,Aj},那么修建道路的总费用最少是多少?
输入
第一行包含一个整数N,2≤N≤105。
第二行包含N个空格隔开的整数A1到AN,0≤Ai≤104。
输出
输出修建道路的最小费用。
样例输入
5
4 1 8 2 5
样例输出
19
编程题(20.0分)
取消社团预约
时间限制:C/C++语言1000MS;其他语言3000MS
内存限制:C/C++语言65536KB;其他语言589824KB
题目描述:
在中国某大学内,教室资源十分紧张,有n个社团同时申请了在某一天使用同一间教室,假设第i个社团占用该教室的时间记为[li, ri]。根据学校的规定,教务部门必须且最多取消一个社团的预约,来满足另外n-1个社团的需求,问学校有多少种取消的方案。(若两社团占用时间分别为[l1, r1]和[l2, r2],此时若r1=l2,视为时间没有冲突)
输入
第一行包含一个整数n,表示社团的数量。(1≤n≤5000)。
接下来有n行,每行包含两个整数,表示第i个社团占用该教室的时间为[li, ri](1≤li, ri≤106)
输出
输出第一行包含一个整数m,表示可以删去的社团数量。
输出第二行包含m个整数,分别为可删除的社团编号(从小到大排序)。
(如不删除某个预约,则不能算作一种方案。)
样例输入
3
3 10
20 30
1 3
样例输出
3
1 2 3
Hint
输入样例2
4
3 10
20 30
1 3
1 39
输出样例2
1
4
输入样例3
3
1 5
2 6
3 7
输出样例3
0
样例解释
样例1中删除1,2,3社团中的任何一个都可以使得另外两个社团无冲突的使用教室
样例2中删除4以后【1,3】【3,10】【20,30】无冲突,若删除1,2,3中任何一个都会与4冲突。