答题与解题(3)

java专题

1、在java中,以下(C)类的对象以键-值的方式存储对象
A、java,util.List
B、java,util.ArrayList
C、java,util.HashMap
D、java,util.LinkedList

解题:Map以key-value形式保存,HashMap、HashTable继承自Mao
ArrayList底层以数组方式存储
Linked以链表形式存储

2、不考虑反射,关于私有访问控制修饰符private修饰的成员变量,以下说法正确的是(C)
A、可以三种类所引用:该类自身,与它在同一包中的其他类,在其他包中的该类的子类
B、可以被两种类访问和引用,该类本身,该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一包中的类访问

解题:private修饰变量,为私有变量,只能被该类本身所访问和修改

3、类中的数据域使用private修饰为私有变量,所以任何方法均不能访问它(错误)

解题:概念的考察,被private修饰的变量,不能被其他的类访问,但是自身类没有限制

4、以下那个数据结构是适用于数据必须以相反的顺序存储然后检索(A)
A、Stack
B、Queue
C、List
D、Link List

解题:根据题目要求,关键字是相反的顺序存储,回想之前学过的,一眼得出答案,只有栈是先进后出,跟相反匹配

5、Which keyword can protect a class in a package from accessibilty by the classes outside the package but not package inside?(D)
A、private
B、protected
C、final
D、don’t use any keyword at all (make it default)?

解题:题目的意思为:哪个关键字可以保护类中的类不受包外的类的访问,而不是包内的类,包外不能访问的只有private和default,而private关键字有子类可以访问,即使包内的类如果不是子类也是不能访问的

6、Which method you defind as the starting point of new thread in a class from which n thread can be execution? (B)
A、public void start()
B、public void run()
C、public void int()
D、public static void main(String args[])
E、public void runnable()

解题:题目是:下面哪一个是你类中定义可以作为新线程的起始点,直到线程n被执行完毕的方法?、
Java中有两种方式实现线程:
1.class A 继承Thread,并重写run()方法,new A().start(),就执行了线程
2.class A实现Runnable,实现run方法,new Thread(new A()).start()
以上的线程都是无返回值的,如果需要返回值,需要Callable接口

7、下面哪一项不属于优化Hibernate所鼓励的?(A)
A、使用单向一对多关联,不使用双向一对多
B、不用一对多,用多对一
C、配置对象缓存,不适用集合缓存
D、继承类使用显示多态

解题:优化Hibernate所鼓励的7大措施:
1、尽量使用many-to-one,避免使用单项one-to-many
2、领用运用单项onoe-to-many
3、不用一对多,使用多对一替代一对一
4、配置对象缓存,不使用集合缓存
5、一对多使用Bag 多对一使用Set
6、继承使用显示多态HQL:from object polymorhism = “exlicit“避免查处所有对象
7、消除大表,使用二级缓存

8、在这里插入图片描述

解题:在这里插入图片描述

9、在这里插入图片描述

解题:jdk1.7之前有 byte short int char
jdk1.7之后加入了String

10、下列说法正确的有(ACD)
A、环境变量可在编译source code时指定
B、在编译程序时,所能指定的环境变量不包括class path
C、javac一次可以同时编译数个java源文件
D、javac.exe能指定编译结果要置于哪个目录(directory)

解题:这里用命令提示框,cmd,然后输入java就可以对选项进行判断,这里说明一下,java中的环境变量要包括class path、

数组专题

1、将数据元素2,4,6,8,10,12,14,16,18,20,22依次存放于一个一维数组中,然后采用折半查找方式查询元素16,被比较过的数组元素的轨迹依次为(A)
A、12.18.14.16
B、12.14.18.16
C、6.9.7.8
D、6.7.9.8

解题:首先对数组进行排序,查找数组中间数与i需要查找的元素匹配,发现小于,所以所找数在右侧,在进行折中,发现中间数大于所招数,依次查找,得出答案

2、在C语言中,若有定义:int a[4]10;则下列选项中对数组元素a[i][j]引用错误的是(D)
A、* (a+i)+j
B、* (&a[0][0]+10 * i+j)
C、* * (a[i]+j)
D、* (*(a+i)+j)

解题:在这里插入图片描述

3、用向量和单链表示的有序表均可以使用折半查找方法来提高查找速度(错)

解题:折半查找属于随机访问特性,链表不行
堆排序也不能用链表,因为调整堆时没法随机访问底层节点
快速排序可以链表
归并排序可以链表
基数排序可以链表
插入排序链表比数组要块一些,减少移动次数

4、有n个数存放在一堆数组A[1,n]中,在进行顺序查找时,这n个数的排序有序或无序其平均查找长度不同(错)

解题:顺序查找不管其是否有序,都继续宁逐个遍历比较,直到相等为止,所以平均查找长度相同

5、以下正确定义一维数组的选项是(B)
A、int a[5]={0.1.2.3.4.5}
B、char a[]={0.1.2.3.4.5}
C、char a ={‘A’,‘B’,‘C’}
D、int a[5]=“0123”

解题:A数组下标越界,B是一种特殊情况,当给数值时,因为时char类型的,他会默认你输入的值转化成Asc码,C没有说明数组的大小,D数组的创建必须时{}

数组编程专题

给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。
示例 1:
输入:
nums = [1, 7, 3, 6, 5, 6]
输出: 3
解释:
索引3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧数之和(5 + 6 = 11)相等。
同时, 3 也是第一个符合要求的中心索引。
示例 2:
输入:
nums = [1, 2, 3]
输出: -1
解释:
数组中不存在满足此条件的中心索引。
说明:
nums 的长度范围为 [0, 10000]。
任何一个 nums[i] 将会是一个范围在 [-1000, 1000]的整数。

解题:拿示例1来说,我们先将数组值遍历出来,然后相加得到数组值的和,因为题为要找到一个索引使得这个索引值的左边包括索引本身值总和相加等于右边,我们假设第一个值就是该索引,然后得到一个公式,然后与数组总值相比较如果等于则该假设成功,否则返回题目要求的-1

class Solution {
    public int pivotIndex(int[] nums) {
    int sum = 0;
    for(int i=0;i < nums.length;i++){
        sum+=nums[i];
    }
    int lastSum = sum;
    for(int i=0;i < nums.length;i++){
        lastSum -=nums[i];
        if(lastSum * 2 + nums[i] == sum){
            return i;
        }
    }
        return -1;
    }
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值