刷题日记【第六篇】-笔试必刷题【最近公共祖先+求最大连续bit数+二进制插入+查找组成一个偶数最接近的两个素数】

news2024/11/18 3:22:29

目录

选择题模块

1.下面哪个标识符是合法的?(D)

2.以下描述正确的是(B)

3.下列程序的运行结果(B)

4.下列关于容器集合类的说法正确的是?(C)

5.ArrayList list = new ArrayList(20);中的list扩充几次(A)

6.下列关于Java并发的说法中正确的是(B)

7.以下方法,哪个不是对add方法的重载?(B)

8.在Java中,(D)类提供定位本地文件系统,对文件或目录及其属性进行基本操作

9.下面关于 Java 中 volatile 关键字的说法错误的是(A)

10.下列哪种异常是检查型异常,需要在编写程序时声明?(C)

11.选项中哪一行代码可以添加 到题目中而不产生编译错误?(A)

编程题模块

1.最近公共祖先

2.求最大连续bit数

3.二进制插入

4.查找组成一个偶数最接近的两个素数


选择题模块

1.下面哪个标识符是合法的?(D)

A 9HelloWorld
B _Hello World
C Hello*World
D Hello$World

 对于标识符,我们知道是由数字、字母以及$组成。并且:开头不能是数字。所以此题选D

2.以下描述正确的是(B)

A CallableStatement是PreparedStatement的父接口
B PreparedStatement是CallableStatement的父接口
C CallableStatement是Statement的父接口
D PreparedStatement是Statement的父接口

 由图可以看出接口顺序为:CallableStatement--->PreparedStatement--->Statement

3.下列程序的运行结果(B)

public static void main(String args[]) {
        Thread t = new Thread() {
            public void run() {
                pong();
            }
        };
        t.run();
        System.out.print("ping");
    }
    static void pong() {
        System.out.print("pong");
    }
A pingpong
B pongping
C pingpong和pongping都有可能
D 都不输出

 在main方法创建之后先执行里面的静态方法,后而执行其他方法,所以首先输出pong再输出ping,选择B

4.下列关于容器集合类的说法正确的是?(C)

A LinkedList继承自List 
B AbstractSet继承自Set 
C HashSet继承自AbstractSet 
D WeakMap继承自HashMap

 

由图可以看出:

A. List属于接口,只能实现,不能继承

B. Set属于接口,只能实现,不能继承

C. HashSet继承自AbstractSet

D. WeakHashSet继承自AbstractSet

5.ArrayList list = new ArrayList(20);中的list扩充几次(A)

A 0
B 1
C 2
D 3

这个我们可以通过源码来看:

此题在创建数组时传入初始长度20,所以数组长度就是20,不需要扩容。

拓展:

如果初始化一个数组,未指定长度,使用add给数组中添加元素,当添加元素超过10时,会进行自动扩容,扩容量=1.5倍数组长度。 

6.下列关于Java并发的说法中正确的是(B)

A CopyOnWriteArrayList适用于写多读少的并发场景
B ReadWriteLock适用于读多写少的并发场景
C ConcurrentHashMap的写操作不需要加锁,读操作需要加锁
D 只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了


A,CopyOnWriteArrayList适用于写少读多的并发场景
B,ReadWriteLock即为读写锁,他要求写与写之间互斥,读与写之间互斥,
   读与读之间可以并发执行。在读多写少的情况下可以提高效率
C,ConcurrentHashMap是同步的HashMap,读写都加锁
D,volatile只保证多线程操作的可见性,不保证原子性

 

7.以下方法,哪个不是对add方法的重载?(B)

public class Test
    {
        public void add( int x,int y,int z){}
    }
A public int add(int x,int y,float z){return 0;}
B public int add(int x,int y,int z){return 0;}
C public void add(int x,int y){}
D 所有选项都不是

重载:从简单说,就是函数或者方法有相同的名称,但是参数列表不相同

B选项中,参数列表与add方法参数列表相同,所以不构成重载。 

8.在Java中,(D)类提供定位本地文件系统,对文件或目录及其属性进行基本操作

A FileInputStream
B FileReader
C FileWriter
D File


FileInputStream提供了对文件的字节读取;
FileReader提供了对文件的字符读取;
FileWriter提供了对文件的字符写入;
File提供了对文件的基本操作,包括对删除,文件路径等操作。

 

9.下面关于 Java 中 volatile 关键字的说法错误的是(A)

A 能保证线程安全
B volatile 关键字用在多线程同步中,可保证读取的可见性
C JVM 保证从主内存加载到线程工作内存的值是最新的
D volatile 能禁止进行指令重排序
A选项:volatile单纯使用不能保证线程安全,他只是提供了一种弱的同步机制来确保修饰的变量的更新操作通知到其他线程,A选项错误
B选项:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。B选项正确。
C选项: 对于用volatile修饰的变量,JVM虚拟机会保证从主内存加载到线程工作内存的值是最新的,例如线程1和线程2在进行read和load的操作中,发现主内
存中某个变量的值都是5,那么都会加载这个最新的值。这也是可见性的一种体现。C选项正确。
D选项:volatile的底层是采用内存屏障来实现的,就是在编译器生成字节码时,会在指令序列中插入内存屏障来禁止特定类型的处理器重排序。D选项正确。

10.下列哪种异常是检查型异常,需要在编写程序时声明?(C)

A NullPointerException
B ClassCastException
C FileNotFoundException
D IndexOutOfBoundsException

由图可以清楚的了解哪些是受查异常,那些是非受查异常,所以此题选C 

异常可以分为非检查异常检查异常: 非检查异常主要包括运行时异常(RuntimeException极其子类)和错误(Error)。编译器不会进行检查并且不要求必须处理的异常,也就说当程序中出现此类 异常时,即使我们没有`try-catch`捕获它,也没有使用`throws`抛出该异常,编译也会正常通过。

检查异常是除了`Error`和 `RuntimeException`的其它异常。这是编译器要求必须处理的异常。这样的异常一般是由程序的运行环境导致的。因为程序可能被运行 在各种未知的环境下,而程序员无法干预用户如何使用他编写的程序,所以必须处理这些异常。

11.选项中哪一行代码可以添加 到题目中而不产生编译错误?(A)

public abstract class MyClass {
    public int constInt = 5;
    //add code here
    public void method() {
    }
}
A public abstract void method(int a);
B constInt = constInt + 5;
C public int method();
D public abstract void anotherMethod() {}

 首先我们可以看出MyClass属于抽象类,所以他得有抽象方法,所以排除B,C选项,又因为抽象方法不需要大括号,所以选A。

编程题模块

1.最近公共祖先

 

import java.util.*;

public class LCA {
    public int getLCA(int a, int b) {
        // write code here
        if(a == b){
            return a;
        }else{
            while(true){
                if(a>b){
                    a=a/2;
                }else if(a<b){
                    b=b/2;
                }
                if(a == b){
                    return a;
                }
            }
        }
    }
}

 

 

2.求最大连续bit数

 

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int num =  in.nextInt();
        int count = 0;
        int max = 0;
        while (num != 0) {
            if ((num & 1) == 1) {
                count++;
                max = Math.max(count, max);
            } else {
                count = 0;
            }
            num = num >> 1;
        }
        System.out.println(max);
    }

}

3.二进制插入

 

import java.util.*;

public class BinInsert {
    public int binInsert(int n, int m, int j, int i) {
        // write code here
        return (m<<j)^n;
    }
}

4.查找组成一个偶数最接近的两个素数

 

import java.util.*;

public class Main {
    public static void main(String[] args)  {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            int  n =scanner.nextInt();
            int half = n/2;
            for(int i =half;i>0;i++){
                if(isPrime(i)  && isPrime(n-i)){
                    System.out.println(n-i);
                    System.out.println(i);
                    break;
                }
            }
        }
    }
        public static boolean isPrime(int m){
            for(int i=2;i*i<=m;i++){
                if(m%i==0){
                    return false;
                }
            }
            return true;
        }
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1041.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL进阶】深入理解InnoDB记录结构

【MySQL进阶】深入理解InnoDB记录结构 参考资料&#xff1a;《MySQL是怎么运行的&#xff1a;从根儿上理解MySQL》。 前言&#xff1a; 我们一般使用的MySQL关系型数据库&#xff0c;更是经典中的经典&#xff0c;虽说MySQL已经非常成熟&#xff0c;但对于MySQL的掌握程度&a…

腾讯Java888道高频面试真题笔记+Java面试宝典

这多半年你是否达到了你年初定的目标&#xff0c;今年企业招聘要求也是更加的严格&#xff0c;对于低学历,以及技术实力不过关的更是雪上加霜。也是由于种种缘由&#xff0c;从5月开始就一直有粉丝私信要博主整理一些干货来帮助他们提升下自己&#xff0c;为了响应粉丝要求&…

Non-Autoregressive Coarse-to-Fine Video Captioning【论文阅读】

Non-Autoregressive Coarse-to-Fine Video Captioning 发表&#xff1a;AAAI 2021idea&#xff1a;&#xff08;1&#xff09;针对推理阶段不能并行&#xff0c;推理效率低的问题使用一种双向解码&#xff08;在bert中不使用sequence mask&#xff09;。&#xff08;2&#xf…

基于QD求解法的二分类SVM仿真

目录 1.算法概述 2.部分程序 3.算法部分仿真结果图 4.完整程序获取 CSDN用户&#xff1a;我爱C编程 CSDN主页&#xff1a;https://blog.csdn.net/hlayumi1234567?typeblog 擅长技术&#xff1a;智能优化&#xff0c;路径规划&#xff0c;通信信号&#xff0c;图像处理&…

【数据结构与算法分析】0基础带你学数据结构与算法分析06--树(TREE)

目录 前言 树的属性 树的实现 树的遍历与应用 深度有限遍历 (DFS) 广度优先遍历 (BFS) Not all roots are buried down in the ground, some are at the top of a tree. — Jinvirle 前言 Tree 是一些结点的集合&#xff0c;这个集合可以是空集&#xff1b;若不是空集…

【模型训练】YOLOv7行人检测

YOLOv7行人检测 1、YOLOv7算法行人检测模型训练2、YOLOv7模型模型评估3、模型和数据集下载1、本项目采用YOLOv7算法实现对行人的检测和识别,在一万多张行人检测数据集中训练得到,我们训练了YOLOv7模型,经评估我们得出了各个模型的评价指标; 2、目标类别数:1 ;类别名:pers…

笔试强训第15天(手套+ 查找输入整数二进制中1的个数)

选择 C barfoob_bar new B 会先创建一个B类对象&#xff0c;B类对象的构造需要调用B的构造函数&#xff0c;从而调用A的构造函数。A的构造函数中调用了 bar()函数&#xff0c;该函数虽然重写了&#xff0c;但这里不构成多态调用。因为虚表中的函数指针是在构造函数的初始化列表…

爱上源码,重学Spring IoC深入

回答&#xff1a; 我们为什么要学习源码&#xff1f; 1、知其然知其所以然 2、站在巨人的肩膀上&#xff0c;提高自己的编码水平 3、应付面试1.1 Spring源码阅读小技巧 1、类层次藏得太深&#xff0c;不要一个类一个类的去看&#xff0c;遇到方法该进就大胆的进 2、更不要一行…

【3D目标检测】SECOND: Sparsely Embedded Convolutional Detection

目录概述细节网络结构稀疏卷积方向分类损失函数概述 首先&#xff0c;本文是基于点云&#xff0c;并且将点云处理成体素的3D目标检测网络&#xff0c;提出的SECOND可以看做是VoxelNet的升级版。 提出动机与贡献 VoxelNet计算量比较大&#xff0c;速度比较慢&#xff08;训练和…

第二节:数据类型与变量【java】

目录 &#x1f4c3;前言 &#x1f4d7;1.数据类型 &#x1f4d5;2. 变量 2.1 变量概念 2.2 语法格式 &#x1f4d9;3.整型变量 3.1 整型变量 3.2 长整型变量 3.3 短整型变量 3.4 字节型变量 &#x1f4d8;4.浮点型变量 4.1 双精度浮点型 4.2 单精度浮点型 &#…

[SpringBoot] AOP-AspectJ 切面技术

✨✨个人主页:沫洺的主页 &#x1f4da;&#x1f4da;系列专栏: &#x1f4d6; JavaWeb专栏&#x1f4d6; JavaSE专栏 &#x1f4d6; Java基础专栏&#x1f4d6;vue3专栏 &#x1f4d6;MyBatis专栏&#x1f4d6;Spring专栏&#x1f4d6;SpringMVC专栏&#x1f4d6;SpringBoot专…

python的编译器与解释器

作者介绍&#xff1a; &#x1f425;作者&#xff1a;小刘在C站 &#x1f446;每天分享课堂笔记&#xff0c;一起努力&#xff0c;共赴美好人生 &#x1f341;夕阳下&#xff0c;是最美的绽放 目录 一.为什么会有编译器和解释器 二.编译器和解释器的区别 三.python解释器种类…

RK3399应用开发 | 移植libdrm到rk3399开发板(2.4.113)

一、下载源码 下载地址:https://dri.freedesktop.org/libdrm/。 这里我下载最新的2.4.113版本: wget https://dri.freedesktop.org/libdrm/libdrm-2.4.113.tar.xz解压: xz -d libdrm-2.4.113.tar.xz tar -xf libdrm-2.4.113.tar二、编译环境安装 1. 更新python ubuntu安…

CalBioreagents 艾美捷重组BCOADC-E2蛋白说明书

艾美捷CalBioreagents 重组BCOADC-E2蛋白英文说明&#xff1a; PRODUCT DESCRIPTION: Branched Chain 2-Oxo-Acid Dehydrogenase Complex E2 protein, recombinant. CLINICAL INDICATION: Primary biliary cirrhosis CATALOG NUMBER: A268 SOURCE: Recombinant protein ex…

《CTF攻防世界web题》之茶壶我爱你(2)

前言 &#x1f340;作者简介&#xff1a;被吉师散养、喜欢前端、学过后端、练过CTF、玩过DOS、不喜欢java的不知名学生。 &#x1f341;个人主页&#xff1a;被吉师散养的职业混子 &#x1fad2;文章目的&#xff1a;记录唯几我能做上的题 &#x1f342;相应专栏&#xff1a;CT…

Pytorch调用GPU时显示CUDA版本过低的解决方案

在调用torch.cuda.is_available时&#xff0c;有如下报错&#xff1a; cuda initialization: The Nvidia driver on your system is too old. 事情的发展是这样的&#xff1a; 1. 服务器的CUDA版本是10.1&#xff0c;仅支持pytorch版本最高1.7&#xff1b;前几天跑项目需要用…

Oracle 中常用的字符串函数总结

一、substr 函数 —— 字符串截取 格式1&#xff1a; substr(string,start_pos,length) 格式2&#xff1a; substr(string,start_pos) 说明&#xff1a; 从指定位置start_pos截取字符串string的length位&#xff0c;如果不指定length&#xff08;格式2&#xff09;则从指…

【数据挖掘】2022数据挖掘之Pandas库相关使用

数据挖掘之Pandas库相关使用一、概念1、介绍2、Pandas的优点3、软件推荐&#xff08;Jupyter Notebook&#xff09;4、软件下载网址以及参考文档二、基础知识1、DataFrame属性和方法1.1 结构&#xff08;1&#xff09;行索引&#xff08;2&#xff09;列索引1.2 常用属性&#…

配置非法AP设备检测和反制

1、业务需求 某企业分支机构为了保证工作人员可以随时随地访问公司网络资源&#xff0c;部署WLAN基本业务实现移动办公。且在覆盖区域内移动发生漫游时&#xff0c;不影响用户的业务使用。 分支机构位于开放式场所&#xff0c;容易受到网络入侵&#xff0c;例如攻击者在WLAN网络…

摒弃“短板”——数据中心基础设施运维管理建议书

数据中心是数字基础设施的重要组成部分&#xff0c;同时也是一整套复杂的设施。它不仅仅包括计算机系统和其它与之配套的设备&#xff08;例如通信和存储系统&#xff09;&#xff0c;还包含冗余的数据通信连接、环境控制系统、监控系统以及各种安全系统。运维管理又是数据中心…