【Java笔试强训 19】

🎉🎉🎉点进来你就是我的人了
博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!欢迎志同道合的朋友一起加油喔🤺🤺🤺
目录
一、选择题
二、编程题
🔥汽水瓶
🔥 查找两个字符串a,b中的最长公共子串
一、选择题
1、下列关于线性链表的叙述中,正确的是( )。
A 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C 进行插入与删除时,不需要移动表中的元素
D 以上说法均不正确
正确答案: C
参考答案:
一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。
2、一个栈的初始状态为空。现将元素1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是()
A 1,2,3,A,B,C
B C,B,A,1,2,3
C C,B,A,3,2,1
D 1,2,3,C,B,A
正确答案: C
参考答案:
栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选 C 。
3、下列数据结构中,不能采用顺序存储结构的是( )
A 非完全二叉树
B 堆
C 队列
D 栈
正确答案: A
参考答案:
根据完全二叉树的性质 6 ,满二叉树和完全二叉树可以按层序进行顺序存储,但一般的二叉树不适用。堆可以用一维数组来存储也可以用完全二叉树来直观地表示堆的结构。队列、栈本身就是顺序存储的。故本题答案为 A 选项。
4、递归函数最终会结束,那么这个函数一定?
A 使用了局部变量
B 有一个分支不调用自身
C 使用了全局变量或者使用了一个或多个参数
D 没有循环调用
正确答案: B
参考答案:
直接排除AD,注意力集中在B和C。
B肯定是对的,只有一次循环满足某个条件,不调用自己就返回,递归才会一层一层向上返回。
那么C呢,想一下,全局变量和参数确实可以用来控制递归的结束与否。
该不该选C呢?再仔细看一下题目(说实话,我很讨厌这种文字游戏),“这个函数一定…“,所以,问题集中在,是否是一定会使用这两种方式呢? 显然不是的。
除了C中提到的两种情况外,还有如下控制递归的方式:
局部静态变量是可以控制递归函数最终结束的 2. 可能通过异常来控制递归的结束。 3. 可以利用BIOS或OS的一些数据或一些标准库的全局值来控制递归过程的终止。 4. 可以把一些数据写入到BIOS或OS的系统数据区,也可以把数据写入到一个文件中,以此来控制递归函数的终止。所以,答案为B
5、已知二叉树后序遍历序列是bfegcda,中序遍历序列是badefcg,它的前序遍历序列是:
A abcdefg
B abdcefg
C adbcfeg
D abecdfg
正确答案: B
参考答案:
分析:很有代表性的一道题目,去年参加微软笔试的时候也有类似的题目。后序遍历中的最后一个元素是根节点,a,然后查找中序中a的位置,把中序遍历分成badefcg,易知左子树为b,右子树为defcg,再递归求解,可画出原始二叉树,故知前序遍历序列为B。
6、某完全二叉树按层次输出(同一层从左到右)的序列为 ABCDEFGH 。该完全二叉树的前序序列为( )
A ABDHECFG
B ABCDEFGH
C HDBEAFCG
D HDEBFGCA
正确答案: A
参考答案:
前序遍历:访问根结点在访问左子树和访问右子树之前。即先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左子树和右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。 中序遍历:访问根结点在访问左子树和访问右子树两者之间。即先遍历左子树,然后访问根结点,最后遍历右子树。并且在遍历左子树和右子树时,仍然首先遍历左子树,然后访问根结点,最后遍历右子树。 后序遍历:访问根结点在访问左子树和访问右子树之后。即首先遍历左子树,然后遍历右子树,最后访问根结点;并且在遍历左子树和右子树时,仍然首先遍历左子树,然后遍历右子树,最后访问根结点。 完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。 因此此完全二叉树可能的形状为: 则前序遍历序列为: ABDHECFG 。故本题答案为 A 选项。
7、以下序列不是堆的是()
A (100,85,98,77,80,60,82,40,20,10,66)
B (100,98,85,82,80,77,66,60,40,20,10)
C (10,20,40,60,66,77,80,82,85,98,100)
D (100,85,40,77,80,60,66,98,82,10,20)
正确答案: D
最大堆:根节点>左右孩子
最小堆:根节点<左右孩子
8、设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造哈希表,哈希函数为H(key)=key MOD 13,哈希地址为1的链中有()个记录
A 1
B 2
C 3
D 4
正确答案: D
9、假设你只有100Mb的内存,需要对1Gb的数据进行排序,最合适的算法是?
A 归并排序
B 插入排序
C 快速排序
D 冒泡排序
正确答案: A
外部排序:内存中放不下所有要排序的数据,需要借助外部空间(磁盘)进行排序
多路归并排序。
1GB分为大小相等的20份,每份大 然后在外部空间进行
小为50MB,依次将每份数据读入内存中进 这20份的归并过程
行排序(内部排序:快排等)
10、某系统总体结构如下图所示, 该系统结构图的深度是( )
A 4
B 3
C 2
D 1
正确答案: A
参考答案:
系统结构图的深度是指表示控制的层数。从图中可见该系统结构的深度为 4 层。故本题答案为 A 选项。
二、编程题
🔥汽水瓶
汽水瓶_牛客题霸_牛客网

import java.util.*;
public class Main{public static int getNum(int num){
//累加汽水的个数int sum = 0;
//while(num > 0) 死循环while(num > 1){
//兑换的汽水的个数 /3sum += num / 3;
//剩余的空瓶子 /3 + %3num = num / 3 + num % 3;if(num == 2){
//借一瓶++sum;break;}}return sum;}public static void main(String[] args){Scanner s = new Scanner(System.in);int num;while((num = s.nextInt()) != 0){System.out.println(getNum(num));}}
}
🔥 查找两个字符串a,b中的最长公共子串
查找两个字符串a,b中的最长公共子串_牛客题霸_牛客网
【解题思路】:
本题需要用动态规划求解,MCS[i][j]记录短字符串 s1 前 i 个字符和长字符串 s2 前 j 个字符的最长子串的长度,初始化所有值为 0。当 s1[i-1] = s2[j-1]时,MCS[i][j] = MCS[i - 1][j - 1] + 1,这里使用一个额外的值start 来记录最长子串在短字符串 s1 中出现的起始位置,maxlen记录当前最长子串的长度,当MCS[i][j] >maxlen 时,maxlen = MCS[i][j], 则start = i - maxlen ;档s1[i-1] != s2[j-1]时不需要任何操作,最后获取substr(start, maxlen)即为所求。

import java.io.*;
import java.util.*;public class Main{//假设str1长度短public static String getMaxSubstr(String str1, String str2){char[] arr1 = str1.toCharArray();char[] arr2 = str2.toCharArray();int len1 = arr1.length;int len2 = arr2.length;//最长子串的起始位置int start = 0;//最长子串的长度int maxLen = 0;//多增加一行一列,作为辅助状态//状态: 以a的第i个字符结尾和以b的第j个字符结尾的最长公共子串的长度int[][] maxSubLen = new int[len1 + 1][len2 + 1];for(int i = 1; i <= len1; ++i){for(int j = 1; j <= len2; ++j){//如果第i个字符和第j个字符相等,则进行累加if(arr1[i - 1] == arr2[j - 1]){maxSubLen[i][j] = maxSubLen[i - 1][j - 1] + 1;//更新if(maxLen < maxSubLen[i][j]){maxLen = maxSubLen[i][j];start = i - maxLen;}}}}return str1.substring(start, start + maxLen);}public static void main(String[] args) throws Exception{BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));String str1;String str2;while((str1 = reader.readLine()) != null){str2 = reader.readLine();if(str1.length() < str2.length()){System.out.println(getMaxSubstr(str1, str2));}else{System.out.println(getMaxSubstr(str2, str1));}}}}

相关文章:
【Java笔试强训 19】
🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥汽水瓶 …...
JPA整合达梦数据库
陈老老老板🦸 👨💻本文专栏:国产数据库-达梦数据库(主要讲一些达梦数据库相关的内容) 👨💻本文简述:本文讲一下SpringBoot整合JPA与达梦数据库,就是简单&…...
制药专业转行软件测试,带我的师傅在这干了两年半,最终还是跑路了......
故事的开始 最近这几天有点忧伤,因为带我的师傅要跑路了,嗯,应该说已经跑路了,他是制药专业的,已经在这个公司干了两年半了。其实今年3月份的时候他就跟我说他要跑路了,然后我说,要不你先把五一…...
「SQL面试题库」 No_53 项目员工II
🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试࿰…...
Ruby适用于什么类型的开发
Ruby是一种开源的、解释型的、面向对象的编程语言,由松本行弘(Yukihiro Matsumoto)于1993年首次发布。Ruby语言的设计理念是追求简洁优美,使编程更加人性化,其语法简单、易读、易写,被誉为“程序员的最佳朋…...
Mysql数据库的备份恢复
最近正在做一个异地数据的定期同步汇总工作,涉及到的数据库主要是Mysql数据库,用于存储现场的一些IOT采集的实时数据,所以做了以下备份恢复测试,现场和总部网络可定期联通,但速度有限,因此计划采用备份恢复…...
C++ 使用动态内存创建一个类
使用动态内存的一个常见原因是允许多个对象共享相同的状态。 例如,假定我们希望定义一个名为Blob 的类,保存一组元素。与容器不同,我们希望Blob对象的不同拷贝之间共享相同的元素。即,当我们拷贝一个Blob时,原Blob对象…...
2023年华中杯选题人数公布
2023年华中杯选题人数公布 经过一晚上代码的编写,论文的写作,C题完整版论文已经发布, 注:蓝色字体为说明备注解释字体,不能出现在大家的论文里。黑色字体为论文部分,大家可以根据红色字体的注记进行摘抄。…...
【黑马旅游案例记录(结合ES)】
黑马旅游案例记录 11.9.黑马旅游案例11.9.1.酒店搜索和分页11.9.1.1.需求分析11.9.1.2.定义实体类11.9.1.3.定义controller11.9.1.4.实现搜索业务 11.9.2.酒店结果过滤11.9.2.1.需求分析11.9.2.2.修改实体类11.9.2.3.修改搜索业务 11.9.3.我周边的酒店11.9.3.1.需求分析11.9.3.…...
基于 A* 搜索算法来优化无线传感器节点网络的平均电池寿命(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨💻4 Matlab代码 💥1 概述 A*(念做:A Star)算法是一种很常用的路径查找和图形遍历算法。它有较好的性能和准确度。本文…...
三款自研AI应用引领未来,重塑行业新风尚
在这个科技日新月异的时代,AI技术已经渗透到我们生活的方方面面。今天,我们将向您推荐三款领域独具特色的AI应用,它们分别是AI律师、AI小红书文案提示词、以及AI Midjourney提示词。这些应用都具有独特的内涵,让我们一起走进这些智…...
Kafka的命令行操作
一、topic命令 下面Windows命令需要把cmd路径切换到bin/windows下。 而Linux命令只需要在控制台切换到bin目录下即可。 下面都以Windows下的操作为例,在Linux下也是一样的。 1.1 查看主题命令的参数 kafka-topics.bat # Windows kafka-topics.sh # Linux输…...
递归,回溯,分治(C++刷题笔记)
递归,回溯,分治(C刷题笔记) 78. 子集 力扣 预备知识 nums[][1,2,3],先将子集[1],[1,2],[1,2,3]打印 #include <bits/stdc.h>using namespace std;int main() {vector<int>nums;for (int i1;i<3;i){nums.push_…...
CentOS 7.6更改yum源
使用字符串替换 我这里的操作参考了https://baijiahao.baidu.com/s?id1708418392526536542&wfrspider&forpc这篇文章,https://mirrors.tuna.tsinghua.edu.cn/help/centos/是清华大学官网教程。 /etc/yum.repos.d/CentOS-Base.repo文件如下: #…...
三、进度管理
3、 [单选] 一个项目实施团队需要满足一份非常严格的进度计划。相对于已完成的事项,这样会导致正在进行的工作超过负荷。为了解决这个问题,项目经理需要获得额外的资源。项目经理应该向发起人提供什么理由来支持追加资源的请求? A project im…...
基于LEACH和HEED的WSN路由协议研究与改进(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨💻4 Matlab代码 💥1 概述 无线传感器网络是不断发展的传感技术之一,也用于执行不同的任务。这些类型的网络在许多领域都是有益的,…...
ChatGPT镜像站收集【Free ChatGPT】(一)
文章目录 Free ChatGPT Site ListLast synced:BeiJingT 2023-04-18妙站站点列表Free ChatGPT Site List 这儿收集了一些免费好用的ChatGPT镜像站点 ⭐:使用不受限🔑:需要进行登录⛔:有限地使用次数后需提供key或进行充值❓ :未测试,未进行标注也为未测试Last synced:BeiJin…...
PHP面试宝典之Mysql数据库基础篇
字符类型: tinyint(4):占1个字节,4代表字段值长度,用0填充,搭配zero fill使用 有符号:取值范围 负128 ~ 正127; 无符号:取值范围 0 ~ 255; 默认无…...
4月记录总结
4/24 1.GBK12、16、24是指什么 GBK12、GBK16、GBK24是指不同的字体点阵大小,也就是字体的显示大小。在GBK编码中,一个汉字通常是由多个点阵组成的,其中点阵的大小就是字体的点阵大小。具体来说: GBK12:指每个汉字由12…...
每日学术速递4.29
CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.LG 1.A Cookbook of Self-Supervised Learning 标题:自监督学习食谱 作者:Randall Balestriero, Mark Ibrahim, Vlad Sobal, Ari Morcos, Shashank Shekhar, Tom…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

