【Java笔试强训 22】

news2024/11/26 13:30:00

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

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


目录

一、选择题

二、编程题

   🔥小易的升级之路

   🔥出字符串中第一个只出现一次的字符



一、选择题

1、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A 顺序表
B 双链表
C 带头结点的双循环链表
D 单循环链表
正确答案: A
参考答案:
数组取、尾插、尾删元素O(1)
2、下列数据结构具有记忆功能的是?
A 队列
B 循环队列
C 栈
D 顺序表
正确答案: C
3、循环两列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空,下列判断队空和队满的条件中,正确的是 ()
A 队空:end1end2; 队满:end1(end2+1)modM
B 队空:end1end2; 队满:end2(end1+1)mod(M-1)
C 队空:end2==(end1+1)modM ; 队满:end1==(end2+1)modM
D 队空:end1==(end2+1)modM; 队满:end2==(end1+1)mod(M-1)
正确答案: A
参考答案:
数组长度就是M长度
对于循环队列来讲,要浪费一个空间用来判断队列是否已满
a.能存储的元素个数为M-1
b.最终判断是否已满mod M
队列是否为空
end1 == end2 为空
end1 == (end2 + 1) mod M
4、对递归程序的优化的一般的手段为()
A 尾递归优化
B 循环优化
C 堆栈优化
D 停止值优化
正确答案: A
参考答案:
比如我们的快速排序和归并排序,在递归的终止条件 I是区间最左侧,r是区间最右侧// 终止条件(I >= r){ return;}

// 在递归终止条件处进行优化
// 当区间个数较小时,采用插入排序来优化(r -l<= 15) => 采用插入排序
5、将一颗有 100 个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根节点编号为 1 ,则编号为 98 的节点的父节点编号为()
A 47
B 48
C 49
D 50
正确答案:C
参考答案:
根节点从1开始编号 根节点从0开始编号,在从1编号的基
设父节点编号为x 础上增加1个偏移量即可
left = 2x left = 2x + 1
right=2x + 1 right=2x+2 d
设现在孩子结点编号为n
父节点编号就是x/2 父节点(x-1)/2
6、将一棵二叉树的根结点放入队列,然后递归的执行如下操作,将出队结点所有子结点加入队。以上操作可以实现哪种遍历?
A 前序遍历
B 中序遍历
C 后序遍历
D 层序遍历
正确答案:D
参考答案:
用到队列的遍历为层序遍历,前中后遍历借助的是栈
7、有 1000 个无序的整数,希望使用最快的方式找出前 50 个最大的,最佳的选择是( )
A 冒泡排序
B 基数排序
C 堆排序
D 快速排序
正确答案: C
参考答案:
topk问题,在一组数据中找到k大个元素是利用堆或者优先级队列
8、以下数据结构说法,错误的是___?
A 红黑树插入操作的平均时间复杂度为O(logn),最坏时间复杂度为O(logn)
B B+树插入操作的平均时间复杂度为O(logn),最坏时间复杂度为O(logn)
C Hash表插入操作的平均时间复杂度为O(logn),最坏时间复杂度为O(n)
D 排序链表插入操作的平均时间复杂度为O(n),最坏时间复杂度为O(n)
正确答案: C

 9、将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是()
A 2n
B 2n-1
C n-1
D n
正确答案: D
参考答案:
两个有序的子区间个数都为n,最好的情况为第二个区间都比第一个区间大,只需要比较n次即可
10、下列排序法中,每经过一次元素的交换会产生新的逆序的是( )
A 快速排序
B 冒泡排序
C 简单插入排序
D 简单选择排序
正确答案: A
参考答案:
在数据元素的序列中,对于某个元素,如果其后存在一个元素小于它,则称之为存在一个逆序。冒泡排序只交换相邻元素,但不是每次移动都产生新的逆序。简单插入排序每一次比较后最多移掉一个逆序。快速排序每一次交换移动都会产生新的逆序,因为当不会有新的逆序产生时,本轮比较结束。简单选择排序的基本思想是先从所有 n 个待排序的数据元素中选择最小的元素,将该元素与第一个元素交换,再从剩下的 n-1 个元素中选出最小的元素与第 2 个元素交换,这样做不会产生逆序。故本题答案为 A 选项。


二、编程题

   🔥小易的升级之路

  小易的升级之路_牛客题霸_牛客网

 【解题思路】:
本题的能力值的累加分两种情况,一种是直接相加bi,一种是累加当前能力值于bi的最大公约数。最大公约数可以通过碾转相除法求得:a与b的最大公约数相当于b与a,b余数的最大公约数。如果求余结果为0, 则b为所求结果

import java.util.*;
import java.io.*;
public class Main {
    public static int func(int a,int b){
        int c=0;
        while((c=a%b)!=0){
            a=b;
            b=c;
        }
        return b;
    }
    public static void main(String[] args) throws Exception{
        //循环读入
        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
        String s;
        while((s=reader.readLine())!=null){
            String[] arr=s.split(" ");
            int num = Integer.parseInt(arr[0]);
            int c = Integer.parseInt(arr[1]);
            //读入boss的防御值
            for(int i=0;i<num;i++){
                int power=Integer.parseInt(reader.readLine());
                if(c>=power){
                    c+=power;
                }else{
                    c+=func(c,power);
                }
            }
             System.out.println(c);
        }
    }
}

🔥出字符串中第一个只出现一次的字符

找出字符串中第一个只出现一次的字符_牛客题霸_牛客网

 【解题思路】:
用一个数组的每一个位置表示对应的位置。对应的字符位置存放字符出现的次数。统计完之后,遍历输入字符,遇到第一个只出现一次的字符就停止

import java.util.*;
import java.io.*;
public class Main {
    public static void findFirst(String str){
        char[] arr=str.toCharArray();
        int[] count=new int[128];
        for(int i=0;i<arr.length;i++){
            count[arr[i]]++;
        }
        boolean flag=false;
        for(int i=0;i<arr.length;i++){
            if(count[arr[i]]==1){
                System.out.println(arr[i]);
                flag=true;
                break;
            }
        }
            if(!flag){
                System.out.println(-1); 
            }
        
    } 
    public static void main(String[] args) throws Exception{
        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
        String s;
        while((s=reader.readLine())!=null){
            findFirst(s);
        }
    }
}

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

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

相关文章

【Java笔试强训 21】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525; 洗牌 &…

免费搭建Plex家庭影音中心 - 打造超级多媒体中心【公网远程访问】

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频&#xff0c;已经算是生活中稀松平常的场景了&#xff0c;特别是各…

java+jsp企业物流货运快递管理系统servlet

功能需求具体描述&#xff1a; (1)用户功能模块包括用户登录注册&#xff0c;用户信息的修改&#xff0c;用户发布货物信息&#xff0c;给客服人员留言&#xff0c;对运输公司进行评价。 (2)企业功能模块包括企业注册登录&#xff0c;企业信息的修改&#xff0c;受理用户发布的…

c#笔记-代码格式

格式 为了让编译器能看懂。我们编写的源码必须符合一定的规范。 区分大小写 c#是大小写敏感语言。A1和a1是不同的东西。 不区分空白字符 c#对空白字符&#xff08;空格&#xff0c;制表符&#xff0c;换行&#xff09;不敏感。只要不截断单词&#xff0c;可以任意地使用空…

Java 基础进阶篇(二)—— 面向对象的三大特征之二:继承

文章目录 一、继承概述二、内存运行原理 ★三、继承的特点四、继承后&#xff1a;成员变量和方法的访问特点五、继承后&#xff1a;方法重写六、继承后&#xff1a;子类构造器的特点七、继承后&#xff1a;子类构造器访问父类有参构造器八、this、super 总结 一、继承概述 Jav…

TiDB实战篇-TiDB集群常用的监控指标

TiDB Server相关指标 Duration(延迟) 总体延迟 SQL不同的类型延迟 不同实例延迟 QPS&#xff08;每秒钟查询次数&#xff09; 总览 CPS&#xff08;一次请求多个sql,上面的QPS每一次就是一个记录&#xff09; 事务相关 延迟 影响性能的大事务 CPU 内存&#xff08;下图…

面试官:谈谈你对死锁的理解

1. 什么是死锁 比如上一次讲到 synchronized 的时候&#xff0c;一个线程&#xff0c;对同一个对象连续加锁两次&#xff0c;如果出现阻塞等待&#xff0c;代表这个锁是不可重入锁&#xff0c;这样的线程&#xff0c;也就称为死锁&#xff01; 一旦程序进入死锁了就会导致线程僵…

PromQL,让你轻松实现监控可视化!快来了解一下吧!

Prometheus 中的一些关键设计&#xff0c;比如注重标准和生态、监控目标动态发现机制、PromQL等。 PromQL 是 Prometheus 的查询语言&#xff0c;使用灵活方便&#xff0c;但很多人不知道如何更好利用它&#xff0c;发挥不出优势。 PromQL主要用于时序数据的查询和二次计算场…

【Docker】4、Docker 数据卷

目录 一、数据卷介绍二、数据卷相关命令三、创建一个数据卷&#xff0c;并查看数据卷在宿主机的目录位置四、数据卷挂载到容器五、数据卷挂载练习&#xff08;MySQL&#xff09;(1) 加载 MySQL 镜像(2) 根据镜像创建容器 一、数据卷介绍 &#x1f384; 数据卷&#xff08;volum…

Lychee图床 - 本地配置属于自己的相册管理系统并远程访问

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站&#xff0c;可以看做是云存储的一部分&#xff0c;既可…

HCIA-RS实验-路由配置-配置RIPv1 和RIPv2

书接上回。。。这篇主要以实验为主&#xff0c;实验的主要目标也是理解RIP路由协议的防环机制 &#xff0c;掌握RIPv1和v2的配置方法&#xff1b;大致拓扑图如下&#xff1a; 拓扑图&#xff1a; 配置对应的IP&#xff1a; R1.2.3 测试R1与R2间的连通性。 配置IP后测试连通性…

设计模式——设计模式简介和七大原则

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线设计模式牛客面试题 目录 一、通过经典面试题掌握重点 二、设计模式的目的和核心原则 三、设计模式七大原则 3.1 单一职责原则&#xff08;Single Respo…

Linux 安装 NFS 实现文件目录共享

一、背景介绍 项目中&#xff0c;之前是单节点部署服务&#xff0c;关于文件的上传和下载&#xff0c;只要配置好路径即可。 而当集群化部署后&#xff0c;就会有问题。比如&#xff1a;文件上传的时候&#xff0c;访问的是主机1&#xff0c;而想要现在文件的时候&#xff0c…

【MST】ABC235 E - MST + 1

一开始想的是分类讨论&#xff0c;看那条边加了之后成不成环&#xff0c;如果不成环且权值在前n-1&#xff0c;则一定在MST里&#xff0c;不在前n-1则不在MST里&#xff1b;如果成环了&#xff0c;如果权值不在前n-1&#xff0c;则不在MST里&#xff0c;如果权值在前n-1&#x…

spark 数据的加载和保存(Parquet、JSON、CSV、MySql)

spark数据的加载和保存 SparkSQL 默认读取和保存的文件格式为 parquet 1.加载数据 spark.read.load 是加载数据的通用方法 scala> spark.read. csv format jdbc json load option options orc parquet schema table text textFile 如果读取不同格式的数据&#xff0c;可以…

docker安装fastdfs

1 拉取镜像 docker pull morunchang/fastdfs如果网速下载慢&#xff0c;可以参考资料文件夹中给大家导出的镜像包上传到 Linux服务器上&#xff0c;通过docker load -i my_fdfs.tar 加载镜像。 使用 docker images查看是否成功 2 运行tracker docker run -d --name tracker -…

MySQL高阶——索引设计的推演

前言 MySQL在我们工作中都会用到&#xff0c;那么我们最常接触的就是增删改查&#xff0c;而对于增删改查来说&#xff0c;我们更多的是查询。但是面试中&#xff0c;面试官又不会问你什么查询是怎么写的&#xff0c;都是问一些索引啊&#xff0c;事务啊&#xff0c; 底层结构…

C. Multiplicity(DP + 分解因数)

Problem - C - Codeforces 给定一个整数数组a1&#xff0c;a2&#xff0c;...&#xff0c;an。 如果可以从a中删除一些元素得到b&#xff0c;则称数组b为a的子序列。 当且仅当对于每个i&#xff08;1≤i≤k&#xff09;&#xff0c;bi是i的倍数时&#xff0c;数组b1&#xff…

Spring Data JPA 快速上手

一、JPA的概述 JPA的全称是Java Persisitence API&#xff0c;即JAVA持久化API&#xff0c;是sum公司退出的一套基于ORM的规范&#xff0c;内部是由一些列的接口和抽象类构成。JPA通过JDK5.0注解描述对象-关系表的映射关系&#xff0c;并将运行期的实体对象持久化到数据库中。…

Mysql 分库分表 Mycat

0 课程视频 https://www.bilibili.com/video/BV1Kr4y1i7ru?p163&spm_id_frompageDriver&vd_sourceff8b7f852278821525f11666b36f180a 1 单库问题 1.1 热点数据多 -> 缓冲区不足 ->内存不足 1.2 数据多 -> 磁盘不足 1.3 请求数据量多 -> 带宽不足 1…