一、单项选择题
1、什么命令不可以查看mysql数据库中user表的表结构( )
A、show create table use
B、describe user
C、desc user
D、show columns for user
2、ava中以下哪个方法或关键字可以判断一个对象是否是一个类或接口的实例( )
A、instance
B、instanceof
C、isAssignableFrom
D、isClass
3、定义如下程序:
public class Student{
public String name;
public Student(String name){
this.name = name;
}
}
public class Test implements Cloneable{
public Student st;
public static void main(String[] args){
Student s1 = new Student(“Tom”);
Test t1 = new Test();
t1.st = s1;
Test t2 = (Test) t1.clone();
}
}
以下表达式中值为true的是( )
A、t1 == t2
B、t1.equals(t2)
C、t1.st != t2.st
D、t1.st.equals(t2.st)
4、定义程序如下:
public class A{
public static void main(String args[]){
int sum = 0;
for(int i=0; i<20; i++){
sum +=i;
if(i%4 == 0){
break;
}
}
System.out.println(sum);
}
}
输出结果为( )
A、0
B、210
C、10
D、50
5、某文件系统采用链接存储方式,文件A在磁盘中存放的情况如图所示:
若该文件所在的目录文件已经在内存中,要读取文件块2,需要访问磁盘的次数为( )
A、1次
B、2次
C、3次
D、4次
6、以下哪种排序算法在最坏情况下的时间复杂度最小( )
A、冒泡排序
B、选择排序
C、归并排序
D、插入排序
7、两台主机A和B已建立了TCP连接,A始终以MSS=1KB大小的段发送数据,并一直有数据发送;B每收到一个数据段都会发出一个接收窗口为9KB的确认段。
若A在T时刻发生超时时拥塞窗口为8KB,则从T时刻起,不再发生超时的情况下,经过10个RTT后,A的发送窗口是( )
A、8KB
B、9KB
C、10KB
D、11KB
8、设栈S初始状态为空。元素1,2,3,4,5,6依次通过栈S,若出栈的顺序为4,6,5,3,2,1,则栈S的容量至少应该为( )
A、3
B、4
C、5
D、6
9、在Linux系统中,因为某些原因造成了一些进程变成孤儿进程,那么这些孤儿进程会被以下哪一个系统进程接管( )
A、sshd
B、init
C、top
D、syslogd
10、Linux下,子进程将不会继承父进程的下列哪个东西( )
A、共享内存
B、进程地址空间
C、信号掩码
D、已打开的文件描述符
二、编程题
1、牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减顺序排列,得到新的数,新数的前缀零将被忽略。得到最大数字的玩家赢得这个游戏。
2、一个完整的括号字符串定义规则如下:
(1)、空字符串是完整的。
(2)、如果s是完整的字符串,那么(s)也是完整的。
(3)、如果s和t是完整的字符串,将它们连接起来形成的st也是完整的。
例如,"(()())", ""和"(())()"是完整的括号字符串,"())(", "()(" 和 ")"是不完整的括号字符串。
牛牛有一个括号字符串s,现在需要在其中任意位置尽量少地添加括号,将其转化为一个完整的括号字符串。请问牛牛至少需要添加多少个括号。
3、牛牛又从生物科研工作者那里获得一个任务,这次牛牛需要帮助科研工作者从DNA序列s中找出最短没有出现在DNA序列s中的DNA片段的长度。
例如:s = AGGTCTA
序列中包含了所有长度为1的('A','C','G','T')片段,但是长度为2的没有全部包含,例如序列中不包含"AA",所以输出2。
参考答案
一、
1~5:DBDAC
6~10:CBCBB
二、
1、
#include<stdio.h>
int main (void)
{
int a[50];
int b[10];
int i,j,n,max=0,time,dc;
scanf("%d",&n);
for(i=0;i<10;i++)
b[i]=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
for(j=0;j<10;j++)
b[j]=0;
for(j=a[i],time=0;j>0;j=j/10)
{
time++;
b[j%10]++;
}
j=0;
dc=0;
while(time>0&&j<=9)
{
while(b[j]==0)
j++;
dc=dc*10+j;
b[j]--;
time--;
}
if(dc>max)
max=dc;
}
printf("%d\n",max);
}
2、
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while(s.hasNext()) {
String str = s.nextLine();
char[] array = str.toCharArray();
LinkedList<Character> res = new LinkedList<>();
int num = 0;
for(int i=0; i<array.length; i++) {
if(array[i] == '(') {
res.push('(');
} else if(array[i] == ')') {
if(!res.isEmpty())
res.pop();
else {
num ++;
//res.push('(');
}
}
}
System.out.println(num + res.size());
}
}
}
3、
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
Set<String> set = new HashSet<>();
int j = 1;
for(int len = str.length();j <= len;j++){
set.clear();
for(int i = 0;i <= len - j;i++){
set.add(str.substring(i,i + j));
}
if(set.size() < Math.pow(4,j)){
break;
}
}
System.out.println(j);
}
}