备战秋招 | 笔试强化22
目录
一、选择题
二、编程题
三、选择题题解
四、编程题题解
一、选择题
1、在有序双向链表中定位删除一个元素的平均时间复杂度为
A. O(1)
B. O(N)
C. O(logN)
D. O(N*logN)
2、在一个以 h 为头指针的单循环链表中,p 指针指向链尾结点的条件是( )
A. p->next==NULL
B. p->next==h
C. p->next->next==h
D. p->data==-1
3、在双向链表中指针p的结点前插入一个指针q的结点操作是()
A. p->Llink=q;q->Rlink=p;p->Llink->Rlink=q;q->Llink=q;
B. p->Llink=q;p->Llink->Rlink=q;q->Rlink=p;q->Llink=p->Llink;
C. q->Rlink=p;q->Llink=p->Llink;p->Llink->Rlink=q;p->Llink=q;
D. q->Llink=p->Llink;q->Rlink=q;p->Llink=q;p->Llink=q;
4、若用数组S[0…n]作为两个栈S1和S2的存储结构,对任何一个栈只有当S全满时才不能做入栈操作。为这两个栈分配空间的最佳方案是
A. S1的栈底位置为0,S2的栈底位置为n
B. S1的栈底位置为0,S2的栈底位置为n/2
C. S1的栈底位置为1,S2的栈底位置为n/2
5、循环队列的存储空间为 Q(1:200) ,初始状态为 front=rear=200 。经过一系列正常的入队与退队操作后, front=rear=1 ,则循环队列中的元素个数为( )
A. 0或200
B. 1
C. 2
D. 199
6、将一棵二叉树的根结点放入队列,然后递归的执行如下操作,将出队结点所有子结点加入队。以上操作可以实现哪种遍历()
A. 前序遍历
B. 中序遍历
C. 后序遍历
D. 层序遍历
7、已知数据元素为(34,76,45,18,26,54,92,65),按照依次插入节点的方法生成一棵二叉排序树,则该树的深度为()
A. 7
B. 6
C. 4
D. 5
8、有 1000 个无序的整数,希望使用最快的方式找出前 50 个最大的,最佳的选择是( )
A. 冒泡排序
B. 基数排序
C. 堆排序
D. 快速排序
9、已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key) = key%7 计算散列地址,并散列存储在散列表A[0....6]中,若采用线性探测方法解决冲突,则 在该散列表上进行等概率成功查找的平均查找长度为()
A. 1.5
B. 1.7
C. 2.0
D. 2.3
10、下面的排序方法中,关键字比较次数与记录的初始排列无关的是______。
A. 希尔排序
B. 冒泡排序
C. 直接插入排序
D. 直接选择排序
二、编程题
1、小易升级之路 题目链接

2、找出字符串中第一个只出现一次的字符 题目链接

三、选择题题解
1、在有序双向链表中定位删除一个元素的平均时间复杂度为
A. O(1)
B. O(N)
C. O(logN)
D. O(N*logN)
正确答案:B
题解:
我们要是想在双向链表中删除一个元素,我们就必须知道删除结点的位置,因此需要遍历链表;时间复杂度为O(N);
2、在一个以 h 为头指针的单循环链表中,p 指针指向链尾结点的条件是( )
A. p->next==NULL
B. p->next==h
C. p->next->next==h
D. p->data==-1
正确答案:B
题解:
既然是循环链表,首尾必然相连,最后一个结点的下一个结点必然是头节点;故选B;
3、在双向链表中指针p的结点前插入一个指针q的结点操作是()
A. p->Llink=q;q->Rlink=p;p->Llink->Rlink=q;q->Llink=q;
B. p->Llink=q;p->Llink->Rlink=q;q->Rlink=p;q->Llink=p->Llink;
C. q->Rlink=p;q->Llink=p->Llink;p->Llink->Rlink=q;p->Llink=q;
D. q->Llink=p->Llink;q->Rlink=q;p->Llink=q;p->Llink=q;
正确答案:C
题解:
对于此题,如若不清楚,建议采用画图的方式更加清晰明了;如下图所示;

4、若用数组S[0…n]作为两个栈S1和S2的存储结构,对任何一个栈只有当S全满时才不能做入栈操作。为这两个栈分配空间的最佳方案是
A. S1的栈底位置为0,S2的栈底位置为n
B. S1的栈底位置为0,S2的栈底位置为n/2
C. S1的栈底位置为1,S2的栈底位置为n/2
正确答案:A
题解:
若想做到任意一个栈满都另一个栈都无法插入,必须使得他们的入栈增长方向不同,若一个向上增长,一个向下增加,此时他们任意一个满了,另一个都无法插入;
5、循环队列的存储空间为 Q(1:200) ,初始状态为 front=rear=200 。经过一系列正常的入队与退队操作后, front=rear=1 ,则循环队列中的元素个数为( )
A. 0或200
B. 1
C. 2
D. 199
正确答案:A
题解:
此题循环队列并没有考虑少用一个空间区分空状态和满状态,因此此题选A;
6、将一棵二叉树的根结点放入队列,然后递归的执行如下操作,将出队结点所有子结点加入队。以上操作可以实现哪种遍历()
A. 前序遍历
B. 中序遍历
C. 后序遍历
D. 层序遍历
正确答案:D
题解:
妥妥的层序遍历,若不清楚,建议自己实现一次层序遍历;
7、已知数据元素为(34,76,45,18,26,54,92,65),按照依次插入节点的方法生成一棵二叉排序树,则该树的深度为()
A. 7
B. 6
C. 4
D. 5
正确答案:D
题解:
注意,此题是二叉排序树,不是平衡二叉排序树,我们依次插入可以得到下图;

8、有 1000 个无序的整数,希望使用最快的方式找出前 50 个最大的,最佳的选择是( )
A. 冒泡排序
B. 基数排序
C. 堆排序
D. 快速排序
正确答案:C
题解:
经典TopK问题,选择堆排序;
9、已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key) = key%7 计算散列地址,并散列存储在散列表A[0....6]中,若采用线性探测方法解决冲突,则 在该散列表上进行等概率成功查找的平均查找长度为()
A. 1.5
B. 1.7
C. 2.0
D. 2.3
正确答案:C
题解:
我们画出散列表分布并计算每个数据查找次数,最后便可求出平均查找次数,如下图所示;

10、下面的排序方法中,关键字比较次数与记录的初始排列无关的是______。
A. 希尔排序
B. 冒泡排序
C. 直接插入排序
D. 直接选择排序
正确答案:D
题解:
直接插入排序的思想是每次都找出范围内最小值或最大值,然后放入相应位置,与数列中原本顺序无关;
四、编程题题解
1、小易升级之路
思路:模拟题,若怪兽战力比小易低,我们直接加上该怪兽的战力;若怪兽战力比小易高,我们求出两者的最大公约数,然后加上该公约数;
#include <iostream>
#include <vector>
using namespace std;int get_divi(int a, int b)
{int c = a % b;while(c){a = b;b = c;c = a % b;}return b;
}int main()
{int n, a;while(cin >> n >> a){vector<int> v(n, 0);for(int i = 0; i < n; i++){cin >> v[i];}for(auto e : v){if(e <= a){a += e;}else {a += get_divi(a, e);}}cout << a << endl;}return 0;
}
2、找出字符串中第一个只出现一次的字符
思路:我们采用计数排序的思想,开一个256大小的整型数组,将字符串中的每一个字符都一 一映射到数组中每一个位置,每次遇到字符串的字符,相应位置++,最后遍历字符串,找出第一个只出现一次的字符;
#include <iostream>
#include <string>
using namespace std;int main()
{int count[256] = { 0 };string str;cin >> str;for(auto ch : str){count[ch]++;}// 遍历原字符串int i = 0;while(i < str.size()){if(count[str[i]] == 1){cout << str[i] << endl;break;}i++;}if(i == str.size())cout << -1 << endl;return 0;
}
相关文章:
备战秋招 | 笔试强化22
目录 一、选择题 二、编程题 三、选择题题解 四、编程题题解 一、选择题 1、在有序双向链表中定位删除一个元素的平均时间复杂度为 A. O(1) B. O(N) C. O(logN) D. O(N*logN) 2、在一个以 h 为头指针的单循环链表中,p 指针指向链尾结点的条件是( ) A. p->ne…...
LeetCode ACM模式——哈希表篇(二)
刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复…...
hadoop 3.1.3集群搭建 ubuntu20
相关 hyper-v安装ubuntu-20-server hyper-v建立快照 hyper-v快速创建虚拟机-导入导出虚拟机 准备 虚拟机设置 采用hyper-v方式安装ubuntu-20虚拟机和koolshare hostnameiph01192.168.66.20h02192.168.66.21h03192.168.66.22 静态IP 所有机器都需要按需设置 sudo vim /e…...
备忘录模式——撤销功能的实现
1、简介 1.1、概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤。当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原。当前很多软件都提供了撤销(Undo)操作…...
Golang 函数参数的传递方式 值传递,引用传递
基本介绍 我们在讲解函数注意事项和使用细节时,已经讲过值类型和引用类型了,这里我们再系统总结一下,因为这是重难点,值类型参数默认就是值传递,而引用类型参数默认就是引用传递。 两种传递方式(函数默认都…...
K8s影响Pod调度和Deployment
5.应用升级回滚和弹性伸缩...
透明代理和不透明代理
透明代理和不透明代理 1、透明代理(Transparent Proxy)2、不透明代理(Non-Transparent Proxy)3、工作原理4、透明代理为啥比不透明代理多一部先连接到路由再到代理服务器?5、这里路由器做了什么工作6、代理自动配置文件(Proxy Auto-Configuration file,PAC file)7、代理…...
1424. 对角线遍历 II;2369. 检查数组是否存在有效划分;1129. 颜色交替的最短路径
1424. 对角线遍历 II 核心思想:我感觉是一个技巧题,如果想到很容易做出了,想不到就很难了。首先对于一条对角线的数,其坐标ij是一样的,然后同一条对角线斜向上的j是从小到大的,知道这个就很容易做出来了。…...
【漏洞复现】Metabase 远程命令执行漏洞(CVE-2023-38646)
文章目录 前言声明一、漏洞介绍二、影响版本三、漏洞原理四、漏洞复现五、修复建议 前言 Metabase 0.46.6.1之前版本和Metabase Enterprise 1.46.6.1之前版本存在安全漏洞,未经身份认证的远程攻击者利用该漏洞可以在服务器上以运行 Metabase 服务器的权限执行任意命…...
Linux 9的repo for OVS build
源码中自带RPM包spec文件 cd /root/rpmbuild/SOURCES/openvswitch-2.17.7/rhel rpmbuild -bb openvswitch.spec ## 按提示解决,不好解决的依赖可以试试下面的repo 方法 error: File /root/rpmbuild/SOURCES/openvswitch-2.17.7.tar.gz: No such file or direct…...
DOCTYPE 是什么作用?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ DOCTYPE 是什么作用?⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴…...
KubeSphere 3.4.0 发布:支持 K8s v1.26
2023 年 07 月 26 日,KubeSphere 开源社区激动地向大家宣布,KubeSphere 3.4.0 正式发布! 让我们先简单回顾下之前三个大版本的主要变化: KubeSphere 3.1.0 新增了“边缘计算”、“计量计费” 等功能,将 Kubernetes 从…...
自然语言文本分类模型代码
以下是一个基于PyTorch的文本分类模型的示例代码,用于将给定的文本分为多个预定义类别: import torch import torch.nn as nn import torch.nn.functional as Fclass TextClassifier(nn.Module):def __init__(self, vocab_size, embedding_dim, hidden_…...
Prometheus实现系统监控报警邮件
Prometheus实现系统监控报警邮件 简介 Prometheus将数据采集和报警分成了两个模块。报警规则配置在Prometheus Servers上, 然后发送报警信息到AlertManger,然后我们的AlertManager就来管理这些报警信息,聚合报警信息过后通过email、PagerDu…...
could not import go.etcd.io/etcd/clientv3-go
问题描述 今天在封装etcd的时候导包报错: could not import go.etcd.io/etcd/clientv3 (no required module provides package "go.etcd.io/etcd/clientv3") 问题解决: get:确保下载了client包 go get go.etcd.io/etcd/client tidy go mod tidy 本文由 mdnice 多平台…...
MySQL的行锁、表锁触发
MySQL的行锁、表锁触发 sql CREATE TABLE products ( product_id INT PRIMARY KEY, product_name VARCHAR(50), stock INT ); INSERT INTO products (product_id, product_name, stock) VALUES (1001, ‘商品A’, 50), (1002, ‘商品B’, 30), (1003, ‘商品C’, 20); 一、行锁…...
mysql-入门笔记-3
# ----------排序查询-------- # 语法 # select 字段列表 from 表名 order by 字段1 排序方式1 ,字段2 排序方式2 ; DESC 降序 ASC升序 # 1 根据年龄对公司的员工进行升序排序---默认升序-黄色提示代码冗余 select * from userTable order by age ASC ; # 2 根据入职时间,对员…...
3分钟创建超实用的中小学新生录取查询系统,现在可以实现了
在新学期开始之际,作为招生负责人,您是否已经做好准备来迎接新学年的招生工作呢?录取新生所需的任务包括录入成绩信息、核对招生要求以及公布新生录取信息等,这些工作繁重而具有挑战性,给负责招生的老师带来了巨大的压…...
Redis 变慢了 解决方案
一、Redis为什么变慢了 1.Redis真的变慢了吗? 对 Redis 进行基准性能测试 例如,我的机器配置比较低,当延迟为 2ms 时,我就认为 Redis 变慢了,但是如果你的硬件配置比较高,那么在你的运行环境下ÿ…...
远程仓库的操作
一、远程仓库的操作命令 git remote # 查看当前项目关联的远程库 我事先关联了一个GitHub的远程仓库,关于如何关联远程仓库,可以看这篇文章远程仓库GitHub和Gitee_林涧泣的博客-CSDN博客 git remote add [仓库服务器名] [远程仓库地址] # 关联远程仓库…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
SQL进阶之旅 Day 22:批处理与游标优化
【SQL进阶之旅 Day 22】批处理与游标优化 文章简述(300字左右) 在数据库开发中,面对大量数据的处理任务时,单条SQL语句往往无法满足性能需求。本篇文章聚焦“批处理与游标优化”,深入探讨如何通过批量操作和游标技术提…...
理想汽车5月交付40856辆,同比增长16.7%
6月1日,理想汽车官方宣布,5月交付新车40856辆,同比增长16.7%。截至2025年5月31日,理想汽车历史累计交付量为1301531辆。 官方表示,理想L系列智能焕新版在5月正式发布,全系产品力有显著的提升,每…...
【大厂机试题解法笔记】矩阵匹配
题目 从一个 N * M(N ≤ M)的矩阵中选出 N 个数,任意两个数字不能在同一行或同一列,求选出来的 N 个数中第 K 大的数字的最小值是多少。 输入描述 输入矩阵要求:1 ≤ K ≤ N ≤ M ≤ 150 输入格式 N M K N*M矩阵 输…...
