备战秋招 | 笔试强训19

news2024/11/18 8:28:22

目录

一、选择题

二、编程题

三、选择题题解

四、编程题题解


一、选择题

1、二分查找的时间复杂度()

A. O(N*log(N))

B. O(N)

C. O(log(N))

D. O(N^2)

2、有一个单向链表中有一个A、B两个相邻元素,有一个指针p指向元素A,现将一个指针r指向的S元素要插入到A和B之间,该进行操作()

A. p->next=p->next->next

B. r-next=p;p->next=r->next

C. r->next=p->next;p->next=r

D. r=p->next;->next=r->next

E. r->next=p;p->next=r

F. p=p->next->next

3、双向链表中有两个指针域,llink和rlink分别指向前驱和后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点)

A. p->llink->rlink:=p->llink; p->llink->rlink:=p->rlink; dispose(p);

B. dispose(p); p->llink->rlink:=p->llink; p->llink->rlink:=p->rlink;

C. p->link->rlink:=p->llink; dispose(p); p->llink->rlink:=p->rlink;

D. 以上A,B,C都不对

4、一个栈的入栈序列是A,B,C,D,E,则栈的不可能输出序列是()

A. EDCBA

B. DECBA

C. DCEAB

D. ABCDE

5、循环队列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初 始时为空,下列判断队空和队满的条件中,正确的是()

A. 队空:end1==end2;队满:end1==(end2+1) mod M

B. 队空:end1==end2;队满:end2==(end1+1) mod (M-1)

C. 队空:end2==(end1+1) mod M;队满:end1==(end2+1) mod M

D. 队空:end1==(end2+1) mod M;队满:end2==(end1+1) mod (M-1)

6、已知二叉树后序遍历序列是bfegcda,中序遍历序列是badefcg,它的前序遍历序列是()

A. abcdefg

B. abdcefg

C. adbcfeg

D. abecdfg

7、某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为()

A. 不存在这样的二叉树

B. 200

C. 198

D. 199

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

9、以下哪种排序是不稳定排序()

A. 冒泡

B. 插入排序

C. 归并排序

D. 快速排序

二、编程题

1、汽水瓶  题目链接

2、查找两个字符串a,b中的最长公共子串  题目链接

三、选择题题解

1、二分查找的时间复杂度()

A. O(N*log(N))

B. O(N)

C. O(log(N))

D. O(N^2)

正确答案:C

题解:

         基本概念题;

2、有一个单向链表中有一个A、B两个相邻元素,有一个指针p指向元素A,现将一个指针r指向的S元素要插入到A和B之间,该进行操作()

A. p->next=p->next->next

B. r-next=p;p->next=r->next

C. r->next=p->next;p->next=r

D. r=p->next;->next=r->next

E. r->next=p;p->next=r

F. p=p->next->next

正确答案: C

题解:

         如下图所示,我们要插入一个新的结点;

3、双向链表中有两个指针域,llink和rlink分别指向前驱和后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点)

A. p->llink->rlink:=p->llink; p->llink->rlink:=p->rlink; dispose(p);

B. dispose(p); p->llink->rlink:=p->llink; p->llink->rlink:=p->rlink;

C. p->link->rlink:=p->llink; dispose(p); p->llink->rlink:=p->rlink;

D. 以上A,B,C都不对

正确答案;D

题解:

         正确代码我们可以结合下图来看;

4、一个栈的入栈序列是A,B,C,D,E,则栈的不可能输出序列是()

A. EDCBA

B. DECBA

C. DCEAB

D. ABCDE

正确答案:C

题解:

         C选项,当我们第一个出D时,代表ABC已经入栈,此时我们出一个C,栈中还有AB,我们再入一个E,然后再出一个E,接着栈顶的元素应该是B而不是A,故C错误;

5、循环队列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初 始时为空,下列判断队空和队满的条件中,正确的是()

A. 队空:end1==end2;队满:end1==(end2+1) mod M

B. 队空:end1==end2;队满:end2==(end1+1) mod (M-1)

C. 队空:end2==(end1+1) mod M;队满:end1==(end2+1) mod M

D. 队空:end1==(end2+1) mod M;队满:end2==(end1+1) mod (M-1)

正确答案:A

题解:

         两个下标在相同位置时为空,队尾+1模上空间大小等于队头等于满;故选A;

6、已知二叉树后序遍历序列是bfegcda,中序遍历序列是badefcg,它的前序遍历序列是()

A. abcdefg

B. abdcefg

C. adbcfeg

D. abecdfg

正确答案:B

题解:

         我们每次可通过后序确定一个根,并在中序中分割左右子树;具体分析如下;

7、某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为()

A. 不存在这样的二叉树

B. 200

C. 198

D. 199

正确答案:A

题解:

         公式,n0 = n2 + 1;计算得出200;

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

题解:       

         题目即让我们求得上述哪些数据模13等于1;分别为1,14,27,79;故选D;

9、以下哪种排序是不稳定排序()

A. 冒泡

B. 插入排序

C. 归并排序

D. 快速排序

正确答案:D

题解:

         快排无法保证排序的稳定性;

四、编程题题解

1、汽水瓶

思路:我们模拟喝汽水的过程,我们创建一个变量记录当前瓶子个数,一个变量记录总共喝了多少瓶;然后模拟喝汽水过程求解;

#include <iostream>
using namespace std;

int main() 
{
    int n;
    while(cin >> n)
    {
        if(n == 0)
            break;
        // 记录当前瓶子个数
        int botton = n;
        int water = 0;
        while(botton >= 3)
        {
            // 可以兑换汽水数
            water += botton / 3;
            // 求得喝完以后的瓶子数
            botton = botton % 3 + botton / 3;
        }
        // 处理特殊情况,借瓶子
        if(botton == 2)
            water += 1;
        cout << water << endl;
    }
    return 0;
}

2、查找两个字符串a,b中的最长公共子串

思路:此题建议使用动态规划来做,找到以i-1结尾的str1与str2最大连续字符的个数; 

#include <iostream>
#include <string>
#include <vector>
using namespace std;

string LComSub(string& str1, string& str2)
{
    int len1 = str1.size();
    int len2 = str2.size();
    // 多开一个位置
    vector<vector<int>> dp(len1 + 1, vector<int>(len2 + 1, 0));

    int start = 0;
    int max = 0;
    for(int i = 1; i <= len1; i++)
    {
        for(int j = 1; j <= len2; j++)
        {
            if(str1[i - 1] == str2[j - 1])
                dp[i][j] = dp[i - 1][j - 1] + 1;
            if(dp[i][j] > max)
            {
                max = dp[i][j];
                start = i - max;
            }
        }
    }
    return str1.substr(start, max);
}

int main() 
{
    string str1, str2;
    cin >> str1 >> str2;
    // 最短字符串放在str1中
    if(str1.size() > str2.size())
        str1.swap(str2);
    cout << LComSub(str1, str2) << endl;
}

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

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

相关文章

81%的消费者预算增加,今年返校季会有哪些机会?

对于跨境卖家来说&#xff0c;7-9月的重头戏莫过于“返校季”。多项调研表明&#xff0c;今年“返校季”消费者预计投入更多预算&#xff0c;并瞄准线上渠道。目前&#xff0c;亚马逊“返校季”促销活动正在火热进行中&#xff0c;许多产品甚至卖到脱销。 那么&#xff0c;今年…

​LeetCode解法汇总143. 重排链表

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;143. 重排链表 描述&#xff1a; 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#x…

资深测试老鸟,APP性能测试-全覆盖测试点(详细整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 android的app性能…

QT控件中,便捷定义信号和槽函数

QT控件中&#xff0c;便捷定义信号和槽函数 之前使用的方式为&#xff1a;自定义信号和槽函数 现在使用一种更方便的方式&#xff1a; 点击控件&#xff0c;直接可以调用槽函数了。。。&#xff08;都不用绑定&#xff09; 把另外两个控件都加上

【MySQL】mysql | linux | 离线安装mysqldump

一、说明 1、项目要求离线安装mysqldump 2、数据库服务已经使用docker进行安装&#xff0c;但是其他项目依赖mysqldump&#xff0c;所以需要在宿主机上安装mysqldum 二、解决方案 1、下载依赖 https://downloads.mysql.com/archives/community/ 2、下载内容 mysql-community-c…

uniapp小程序警告:[sitemap 索引情况提示]

这个并不算是报错&#xff0c;只是一个警告提示&#xff0c;提示开发者哪些页面被微信收录了&#xff08;代表这个页面可以在微信的搜索中被搜到&#xff09;&#xff0c;sitemap 的索引提示是默认开启的&#xff0c;如需要关闭 sitemap 的索引提示&#xff0c;可在小程序项目配…

【腾讯云 Cloud Studio 实战训练营】当我还在恐龙扛狼,隔壁IDE竟然已经卷成这样了

文章目录 前言关于cloud studio功能介绍账号注册小试牛刀深度体验使用场景和产品优势总结 手动bgm&#xff1a;沃没K~ 恐龙扛浪扛浪扛~ 恐龙扛浪扛浪扛~ 沃没K~ 布鲁biu布鲁biu~ 前言 上周很荣幸被邀请体验一款腾讯的新产品cloud studio&#xff0c;是一款在线ide&#xff0c;…

多元函数的极值和最值

目录 无约束极值 极值的必要条件 驻点和极值点的关系 多元函数极值点可能取的点&#xff1a; 极值的充分条件 条件极值与拉格朗日乘数法 最大最小值 例题 例题1&#xff1a; 例题2&#xff1a; ​编辑 例题3&#xff1a; 例题4&#xff1a; ​编辑 例题5&#xff1a; 例…

DuDuTalk:AI语音工牌如何帮助教培公司高效管理课程顾问团队

近年来&#xff0c;随着人工智能的快速发展&#xff0c;越来越多的公司开始利用AI技术来提高工作效率和管理效果。在教育培训行业中&#xff0c;课程顾问团队的管理对于公司的运营和发展至关重要。 而在实际管理中&#xff0c;受教培人员素质参差不齐&#xff0c;能力差异大&a…

Java课题笔记~Maven基础知识

一、什么是Maven&#xff1f; Maven是专门用于管理和构建Java项目的工具。 它的主要功能有&#xff1a; 提供了一套标准化的项目结构提供了一套标准化的构建流程&#xff08;编译&#xff0c;测试&#xff0c;打包&#xff0c;发布……&#xff09;提供了一套依赖管理机制 …

python小游戏课程设计报告,python游戏课程设计报告

大家好&#xff0c;给大家分享一下python2048游戏课程设计报告&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01;

安装java11( 安装jdk11)记录

下载JDK11 国内华为镜像下载&#xff1a;https://repo.huaweicloud.com/java/jdk/11.0.29/injdk 镜像下载&#xff1a;https://www.injdk.cn/官网下载&#xff1a;https://www.oracle.com/java/technologies/downloads/#java11 个人使用华为镜像下载 安装 下载后上传至Lin…

用DBeaver进行数据备份与恢复

一、数据备份 1、选择需要备份的数据库或数据表&#xff0c;鼠标右击。 2、选择“工具-转存数据库” 3、勾选需要导出备份的数据库和数据表 可自行设置&#xff0c;这里直接点击开始&#xff1b; 导出完成 二、数据恢复 1、选择需要恢复的数据库或数据表&#xff0c;鼠标右…

数学建模学习(8):单目标和多目标规划

优化问题描述 优化 优化算法是指在满足一定条件下,在众多方案中或者参数中最优方案,或者参数值,以使得某个或者多个功能指标达到最优,或使得系统的某些性能指标达到最大值或者最小值 线性规划 线性规划是指目标函数和约束都是线性的情况 [x,fval]linprog(f,A,b,Aeq,Beq,LB,U…

【C语言】通讯录2.0 (动态增长版)

前言 通讯录是一种记录联系人信息的工具&#xff0c;包括姓名、电话号码、电子邮件地址、住址等。 文章的一二三章均于上一篇相同&#xff0c;可以直接看第四章改造内容。 此通讯录是基于通讯录1.0&#xff08;静态版&#xff09;的基础上进行改进&#xff0c;请先看系列文字第…

IPv4网络用户访问IPv6网络服务器

NAT64静态映射为一对一的对应关系&#xff0c;通常应用在IPv4网络主动访问IPv6网络的场景中。 要求位于IPv4网络中的PC通过IPv4地址1.1.1.10能够直接访问位于IPv6网络中Server。 操作步骤 配置FW。 # 配置接口GigabitEthernet 0/0/1的IPv4地址。 <FW> system-view [F…

MyBatis-Plus 分页插件实现分页查询

目录 1. 配置分页查询的拦截器 2. 使用 Page 对象实现分页功能 1. 配置分页查询的拦截器 因为 MyBatis-Plus 里面使用了分页插件来实现分页查询, 所以我们需要将 MyBatis-Plus 的插件添加到当前的项目里, 这样我们执行的查询操作才会生效. 创建 PageConfig 类: Configurat…

华为云hcip核心知识笔记(存储服务规划)

云上存储 &#xff1a; 云硬盘:基于分布式架构&#xff0c;可弹性扩展的虚拟块存储服务 注意事项 挂载云硬盘实例和云硬盘必须在同一区域&#xff0c;否则挂载失败文件存储服务&#xff1a;完全托管的共享文件存储 可以为多个实例实现共享访问&#xff0c;不同vpc中可以进行对…

用python需要下载软件吗,python需要安装哪些软件

大家好&#xff0c;本文将围绕安装python需要什么样的电脑配置展开说明&#xff0c;python需要安装哪些软件是一个很多人都想弄明白的事情&#xff0c;想搞清楚用python需要下载软件吗需要先了解以下几个事情。 编程这东西很神奇。对于那些知道如何有用和有趣的这个工具,对于Xi…

数字IC验证高频面试问题整理附答案(二)

近日后台有同学私信还想要验证的面试题目&#xff0c;这不就来了~ Q16.权重约束中”:”和”: /”的区别 : 操作符表示值范围内的每一个值的权重是相同的,比如[1:3]:40,表示1&#xff0c;2&#xff0c;3取到的概率为40/120&#xff1b; :&#xff0f;操作符表示权重要平均分到…