点进来你就是我的人了
博主主页:戳一戳,欢迎大佬指点!

欢迎志同道合的朋友一起加油喔


目录

一、选择题

二、编程题

最近公共祖先

求最大连续bit数



一、选择题

1、下面哪个标识符是合法的?
A “9HelloWorld”
B “_Hello World”
C “Hello*World”
D “Hello$World”
正确答案: D
参考答案:
标识符是以大小写字母、数字、下划线、美元符号组成,不能艺术字开头。
2、以下java程序代码,执行后的结果是()

java.util.HashMap map=new java.util.HashMap();map.put("name",null);map.put("name","Jack");System.out.println(map.size());

A 0
B null
C 1
D 2
正确答案: C
参考答案:
size() 方法用于返回在此映射中的键 – 值映射关系的数量。
HashMap在插入新元素时,会使用equals()方法判断集合中是否已经存在与新元素key相同的元素,如果存在,新元素会覆盖掉和他key相同的对象。
HashMap允许null作为key/value,因此map.put(“name”,null);会在map集合中存入key为”name”,value为null的对象。map.put(“name”,“Jack”);会在map
集合中存入key为”name”,value为”Jack”的对象。前后两次存入的对象的key都为”name”,因此刚存入的key为”name”,value为null的对象会被覆盖掉,即map中只有一个key为”name”,value为”Jack”的对象。map.size()为1。
3、Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是
A ArrayList和LinkedList均实现了List接口
B ArrayList的访问速度比LinkedList快
C 添加和删除元素时,ArrayList的表现更佳
D HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
正确答案: C
4、以下描述正确的是
A CallableStatement是PreparedStatement的父接口
B PreparedStatement是CallableStatement的父接口
C CallableStatement是Statement的父接口
D PreparedStatement是Statement的父接口
正确答案: B
参考答案:
Statement是是PreparedStatement的父接口,PreparedStatement是CallableStatement的父接口。
5、下面有关重载函数的说法中正确的是
A 重载函数必须具有不同的返回值类型
B 重载函数形参个数必须不同
C 重载函数必须有不同的形参列表
D 重载函数名可以不同
正确答案: C
参考答案:
重载:必须同名函数;必须参数表不同(包含参数个数不同;参数类型不同;或参数个数与类型都不同)
6、下列关于容器集合类的说法正确的是?
A LinkedList继承自List
B AbstractSet继承自Set
C HashSet继承自AbstractSet
D WeakMap继承自HashMap
正确答案: C
接口是用来实现的,list、set是一个接口
7、ArrayList list = new ArrayList(20);中的list扩充几次
A 0
B 1
C 2
D 3
正确答案: A
8、以下程序的输出结果是?

public class Example {String str = new String("good");char[] ch = { 'a', 'b', 'c' };public static void main(String args[]) {Example ex = new Example();ex.change(ex.str, ex.ch);System.out.print(ex.str + " and ");System.out.print(ex.ch);}public static void change(String str, char ch[]){str = "test ok";ch[0] = 'g';}}

A good and abc
B good and gbc
C test ok and abc
D test ok and gbc
正确答案: B
9、下面的方法,当输入为2的时候返回值是多少” />public static int getValue(int i) {int result = 0;switch (i) {case 1:result = result + i;case 2:result = result + i * 2;case 3:result = result + i * 3;}return result;}

A 0
B 2
C 4
D 10
正确答案: D
10、提供Java存取数据库能力的包是( )
A java.sql
B java.awt
C java.lang
D java.swing
正确答案: A
参考答案:
注解:java.sql提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。此 API 包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。


二、编程题

最近公共祖先

最近公共祖先_牛客题霸_牛客网

【解题思路】:
题目所描述的满二叉树如下: 1 / \ 2 3 / \ / \ 4 5 6 7 上述树中子节点与父节点之间的关系为root =child / 2 所以如果a != b,就让其中的较大数除以2, 如此循环直到a == b 即是原来两个数的最近公共祖先 比如: 2和7的最近公共祖先:7/2 = 3 —> 3/2 = 1, 2/2 = 1, 得到1为它们的公共祖先。

import java.util.*;public class LCA {public int getLCA(int a, int b) {while(a!=b){if(a>b){a=a/2;}else{b=b/2;}}return a;}}

求最大连续bit数

求最大连续bit数_牛客题霸_牛客网

import java.util.*;public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); int count=0; int newCount=0; while(sc.hasNextInt()){ int n=sc.nextInt(); while(n!=0){ if((n&1)==1){ count++;newCount=Math.max(newCount,count);}else{ count=0; }n>>=1; } } System.out.print(newCount); } }