牛客网选择题错题集锦(一)
1.下面程序段执行后b的值是()。
Integer integ =new Integer(9);
boolean b = integ instanceof Object;
A.9 B.true C.1 D.false
选B
分析:Object是 integ 的父类。instanceof 用来在运行时指出对象是否是特定类的一个实例,instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。如果是返回true,如果不是,返回false.
2.下面程序段的时间复杂度是()
i = k = "0";
while( k < n ){
i ++ ;
k += i ;
}
A.O(n) B.O(n^1/2) C.O(n*i) D.O(n+i)
选B
分析:
i= 1, 2, 3, 4, 5, 6, 7, 8
k=1, 3, 6, 10, 15, 21, 28, 36
把k的数字两个两个一起看的话, 也就是(1,3), (6,10), (15, 21), (7,8), 求和后可以发现规律(1+3=4), (6+10=16), (15+21=36), (28+36=64)
也就是2^2, 4^2, 6^2, 8^2...偶数的平方
循环在x^2>=n时终止, 可得x等于根号n,也就是n^(1/2)
循环的次数是x/2, 时间复杂度为O((1/2)n^(1/2)), 一般而言时间复杂度认为常系数为1, 所以答案就是O(n^(1/2))
3.对文件名为Test.java的java代码描述正确的是()
class Person {
String name = "No name";
public Person(String nm) {
name = nm;
}
}
class Employee extends Person {
String empID = "0000";
public Employee(String id) {
empID = id;
}
}
public class Test {
public static void main(String args[])