牛客网day14

一.选择题

1.数据库技术的奠基人之一E.F.Codd从1970年起发表多篇论文,主要论述的是( )。
层次数据模型
网状数据模型
关系数据模型
面向对象数据模型
2.关于抽象类叙述正确的是? ( )
抽象类不能实现接口
抽象类必须有“abstract class”修饰
抽象类必须包含抽象方法
抽象类也有类的特性,可以被实例化
3.链表不具有的特点是()
不需要事先估计存储空间大小
所需空间和线性表长度成正比
可随机访问任一元素
插入删除不需要移动表内其他元素
4.采用深度优先搜索或拓扑排序算法可以判断出一个有向图中是否有环(回路)()


5.当用一台机器作为网络客户端时,该机器最多可以保持多少个到服务端的连接?
1
少于1024
少于65535
无限制
6.在并发控制技术中,最常用的是封锁机制,基本的封锁类型有排它锁 X 和共享锁 S ,下列关于两种锁的相容性描述不正确的是( )
X/X :TRUE
S/S:TRUE
S/X:FALSE
X/S:FALSE
解析:排它锁不释放拒绝一切访问
7.下列命题正确的是
一个图的邻接矩阵表示是唯一的,邻接表表示也唯一
一个图的邻接矩阵表示是唯一的,邻接表表示不唯一
一个图的邻接矩阵表示不唯一,邻接表表示是唯一的
一个图的邻接矩阵表示不唯一,邻接表表示也不唯一
8.截断二进制指数类型退避算法解决了( )。
站点检测到冲突后延迟发送的时间
站点检测到冲突后继续等待的时间
站点是如何对冲突进行检测
站点如何避免冲突
9.在数据库与宿主语言之间传递信息是通过()
全局变量
局部变量
公共数据区
系统缓冲区
10.下面代码在main()方法中第八行后可以正常使用的是( )
public class Test
{
private int a=10;
int b=20;
static int c=1;
public static void main(String arg[])
{
Test t = new Test();
}
}
t.a
this.c
Test.b
Test.c

二.编程题

题目描述
找出n个数里最小的k个
输入描述:
每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n
不超过100。
输出描述:
输出n个整数里最小的k个数。升序输出
示例1
输入
复制
3 9 6 8 -10 7 -11 19 30 12 23 5
输出
复制
-11 -10 3 6 7
https://www.nowcoder.com/practice/cc727473d1e248ccb674eb31bd8683dc?tpId=85&&tqId=29865&rp=1&ru=/activity/oj&qru=/ta/2017test/question-ranking

import java.util.Arrays;
import java.util.Scanner;


public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String[] number=sc.nextLine().split(" ");
        findNumber(number);
        sc.close();
	}
	private static void findNumber(String[] number) {
		int k=Integer.parseInt(number[number.length-1]);
		int[] numbers=new int[number.length-1];
		int[] minNumber=new int[k];
	    giveNumber(numbers,number);
	    int minIndex=0;
		while(!isFull(minNumber)){
			minIndex=findMinNumber(numbers,minNumber,minIndex);
		}
		Arrays.sort( minNumber);
		for(int i=0;i<minNumber.length;i++){
            if(i<minNumber.length-1){
			System.out.print(minNumber[i]+" ");
            }else{
              	System.out.print(minNumber[i]);
            }
		}
		
	}
	private static int findMinNumber(int[] numbers,int[] MinNumber,int minIndex) {
		int min=numbers[0];
		for(int i=1;i<numbers.length;i++){
			if(min>numbers[i]){
				min=numbers[i];
			}
		}
		if(minIndex<MinNumber.length){
		giveMax(min,numbers);
        MinNumber[minIndex]=min;
        minIndex++;
		}
		 return minIndex;
	}

	private static void giveMax(int min, int[] numbers){
	      for(int i=0;i<numbers.length;i++){
	    	  if(min==numbers[i]){
	    		  numbers[i]=Integer.MAX_VALUE;  
	    	  }
	      }
		
	}
	private static boolean isFull(int[] minNumber) {
		for(int i=0;i<minNumber.length;i++){
			if(minNumber[i]==0){
				return false;
			}
		}
		return true;
	}
	private static void giveNumber(int[] numbers,String[] number) {
		for(int i=0;i<number.length-1;i++){
			numbers[i]=Integer.parseInt(number[i]);
		}
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值