自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 2023年第十四届蓝桥杯大赛软件类省赛C/C++大学A组真题

2023年第十四届蓝桥杯大赛软件类省赛C/C++大学A组部分真题和题解分享。蓝桥杯2023年第十四届省赛真题-平方差思路题解蓝桥杯2023年第十四届省赛真题-更小的数思路题解蓝桥杯2023年第十四届省赛真题-颜色平衡树思路题解蓝桥杯2023年第十四届省赛真题-买瓜思路题解

2024-03-03 21:02:04 8801 8

原创 【备战蓝桥杯】第十四届蓝桥杯省赛C/C++ B组真题及题解

参加了两届蓝桥杯以及做过了往年的真题我的直观感受是蓝桥杯不再那么“暴力”了,而是逐渐趋向DP和搜素图论方面了。下面是第十四届蓝桥杯省赛C/C++ B组真题及题解,希望对阅读的你有所帮助。

2023-08-24 17:48:33 20020

原创 C++实验 多态

1.理解运算符重载的概念和实质,掌握运算符重载函数的定义方法,掌握运算符重载为类的成员函数和友元函数的方法。2.掌握虚函数的定义方法及其在实现多态性中的应用,理解静态连编和动态链编的区别。(1)从Base类中派生出两个类,分别定义I_am()函数,实现输出自己类的名字。4.编写复数类Complxnum,将+,-,*,/运算符重载,实现对应功能。3.编写程序,计算圆柱体,球体,正方体的表面积和体积。

2024-03-15 22:04:21 468 6

原创 C++实验 面向对象编程

掌握类中静态成员的定义方法,初始化方法,使用方法;掌握类的友元说明方法,理解友元的使用特点。1、编写程序,统计某旅馆住宿客人的总数,要求输入客人姓名,输出客人编号(按先后顺序自动生成),姓名以及总人数。2、编写学生类Stu,包含学生姓名,成绩,设计一个友员函数,将学生成绩按大到小排序。1、编写整型数组类 arrow,能创建任意长度数组对象,用深复制。2、已知三点座标,求三角形的面积。

2024-03-15 21:58:32 580

原创 主席树求区间第K小模板

给定n个数,q次询问,每次求区间 [ l , r ] 中从小到大排序后第k 个数。主席树(President Tree)是一种用于解决区间查询和修改问题的数据结构,通常用于静态区间问题(即查询和修改操作在构建结构之后不再发生变化)。主席树可以高效地处理诸如区间和、区间最值等问题。

2024-03-05 17:27:08 963 9

原创 LeetCode234.回文链表

给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。要判断一个单链表是否为**回文链表**,可以使用以下步骤:1. 找到链表的中间节点:可以使用**快慢指针方法**,快指针每次移动两步,慢指针每次移动一步。当快指针到达链表末尾时,慢指针指向的节点即为中间节点。2. 反转后半部分链表:从中间节点开始,将后半部分链表进行反转。3. 比较前半部分链表和反转后的后半部分链表:同时遍历前半部分和后半部分链表,逐个比较节点的值是否相等。如果所有节点的值都相等

2024-03-05 13:37:34 512

原创 LeetCode239.滑动窗口最大值

给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 **滑动窗口中的最大值** 。要解决这个问题,可以使用双端队列(deque)。双端队列可以在两端进行插入和删除操作,非常适合用于滑动窗口问题。

2024-03-05 13:23:41 500

原创 计算机网络实验 基于ENSP的协议分析

实验二 基于eNSP的协议分析一、实验目的:1)熟悉VRP的基本操作命令 2)掌握ARP协议的基本工作原理 3)掌握IP协议的基本工作原理 4)掌握ICMP协议的基本工作原理

2024-03-04 22:25:32 2073 7

原创 LeetCode148.排序链表

给你链表的头结点head,请将其按排列并返回。对于链表排序我们可以使用链表的归并排序(Merge Sort)算法。下面是整体的思路:1. **归并排序的核心思想**:归并排序是一种**分治**算法,首先将待排序的链表分成两部分,然后分别对这两部分进行排序,最后将排好序的两部分链表合并起来。2. **mergeSort 函数**:这个函数是归并排序的入口,负责调用递归排序的函数 mergeSort,并返回排好序的链表。在 mergeSort 中,首先判断链表是否为空或只有一个节点,如果是,则直接返回原

2024-03-04 22:09:52 534

原创 LeetCode128.最长连续序列

给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。由于题目要求的时间复杂度为O(n),我们看到题目第一时间想到的可能是使用快排然后去寻找数字连续的最长序列,但是使用快排的时间复杂度为O(n*logn),使用快排肯定会超时,所以我们可以使用哈希表。

2024-03-04 21:51:20 648

原创 scanf和cin的利弊

scanf和cin的利弊:cin:利:可以输入string,string本身的好处就不说了,写起来快弊:耗时长,耗时长的原因是c++需要向下c兼容,就是你用cin等c++函数,但是编译器还会预处理scanf等c函数,尽管可以加ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);手动关闭c的兼容,但是这样会导致你只能用c++的函数,c的所有函数你都用不了,用了就会re(不会报错)

2024-03-03 12:44:29 538 4

原创 C++STL容器string的好处

当谈到使用 C++ 中的 string 类型时,我们可以看到它具有许多方便的特性。string的好处是①可以直接赋值②可以直接加③可以直接比较④可以对string数组直接sort⑤动态空间,比如说题目说1e5个字符串,每个字符串长度不超过1e5,所有字符串长度之和不超过1e6,那么不可能创建char二维数组,只能用string数组⑥(我个人来说)可以直接用reverse函数翻转,在某些水题挺方便的

2024-03-03 12:40:43 441

原创 LeetCode198.打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,给定一个代表每个房屋存放金额的非负整数数组,,一夜之内能够偷窃到的最高金额。这是一个经典的动态规划问题,通常被称为 "打家劫舍" 问题。在不触动警报装置的情况下偷窃最高金额,可以使用动态规划的方法来解决。

2024-03-02 21:30:56 518 12

原创 LeetCode102.二叉树的层序遍历

给你二叉树的根节点root,返回其节点值的。(即逐层地,从左到右访问所有节点)。1. 创建一个队列(queue)用于存储待处理的二叉树节点。2. 将根节点放入队列中。3. 开始进行层序遍历:- 当队列不为空时,表示还有节点需要处理。- 每次处理一层的节点时,先获取当前队列的大小,这个大小即为当前层的节点数目。- 遍历当前层级的节点: - 依次取出队首的节点,将其值存入当前层级的结果中。 - 如果该节点有左子节点,将左子节点加入队列。 - 如果该节点有右子节点,将右子节点加

2024-03-02 16:34:03 586

原创 红黑树的实现原理

`红黑树` **是一种自平衡的二叉搜索树,它是一种特殊的平衡二叉树**,通过引入颜色标记和各种旋转操作来保持树的平衡1. 每个节点要么是`红色`,要么是`黑色`。2. `根节点`是`黑色`的。3. 每个`叶子节点`(NIL 节点)都是`黑色`的。4. 如果一个节点是`红色`的,那么它的两个子节点都是`黑色`的。5. 对于`每个节点`,从该节点到其后代叶子节点的所有路径上包含`相同数目`的`黑色节点`。这些性质保证了红黑树的关键平衡性质,使得在插入和删除节点时能够保持树的平衡,从而保证了红黑树的查

2024-03-01 20:30:54 431 5

原创 LeetCode215.数组中的第K个最大元素

给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。

2024-03-01 19:54:06 558

原创 LeetCode206.反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。在遍历链表的的时候,修改当前结点的指针域的指向,让其指向它的前驱结点。为此需要用一个指针变量来保存前驱结点的地址。此外,为了在调整当前结点指针域的指向后还能找到后继结点,还需要另外一个指针变量来保存后继结点的地址,在所有结点都被保存好以后就可以直接完成指针的逆序了。

2024-03-01 19:28:36 425

原创 C++ 二分查找函数lower_bound() 和 upper_bound()

以上代码演示了如何使用 lower_bound() 和 upper_bound() 函数在有序序列中查找目标值的插入位置。给定一个有序序列 nums 和目标值 target,通过 lower_bound() 和 upper_bound() 函数找到第一个不小于目标值的位置和第一个大于目标值的位置。如果序列中不存在不小于目标值的元素,则返回迭代器指向的位置为序列的末尾(即 last)。如果序列中不存在大于目标值的元素,则返回迭代器指向的位置为序列的末尾(即 last)。的返回值是一个迭代器,指向序列中。

2024-02-29 21:53:43 640 13

原创 LeetCode34.在排序数组中查找元素的第一个和最后一个位置

给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。

2024-02-29 21:48:26 1011

原创 C/C++ 迷宫游戏

这个迷宫探险游戏有以下功能:1. 探险:选择该选项后,玩家会进入地下迷宫进行探险。在随机事件中,可能会遇到陷阱、发现金币或者什么都没有发生。陷阱会使玩家失去一定的生命值,金币可以增加玩家的金币数量。2. 休息:选择该选项后,玩家可以休息一会儿。在休息过程中,有50%的概率会丢失随机数量的金币。而体力值将会回复15点,但不超过上限100。3. 查看背包:选择该选项后,玩家可以查看背包中的道具。当前游戏中有三种道具:能量药水、地图和食物。能量药水可以增加20点体力值,地图可以指示方向,而食物则可以增

2024-02-29 20:05:34 707 2

原创 C/C++语言文字小游戏(荒岛求生)

# 游戏背景玩家在荒岛上,需要寻找食物、水源、避难所等资源来生存。玩家需要避免危险,如野兽、植物、天气等,否则会失去血量或生命。玩家可以在荒岛上遇到其他生存者,可以选择合作或对抗。游戏目标是生存一定时间或找到生存的出路。

2024-02-29 00:06:34 1648 19

原创 LeetCode300.最长递增子序列

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

2024-02-28 20:32:56 591 2

原创 C++面试常见八股分享

1.unordered_set和set,unordered_map和map的区别2.哈希表和红黑树3.B+树4.虚函数和纯虚函数的区别5.多态是如何实现的6.深拷贝和浅拷贝7.sort快排源码

2024-02-28 13:51:29 1203 2

原创 祖传代码的历史与文化价值

通过认真研究和传承祖传代码,程序员们可以更好地理解技术发展的脉络和规律,保持敬畏之心,不断提升自己的编程水平,为未来的代码编写和系统设计积累宝贵的经验和智慧。祖传代码不仅是一份技术遗产,更是一份文化传统和精神财富,值得我们珍惜和传承。在开发过程中,程序员们往往会在代码中融入自己对问题的理解和解决方案的风格,这些独特的编码风格和思维模式构成了一种特殊的文化符号。在没有现代化工具和框架的年代,程序员们只能依靠自己的智慧和努力编写代码,这些代码往往展现出他们对算法、数据结构和编程语言的深刻理解。

2024-02-27 21:35:56 451 9

原创 计算机网络实验一 ENSP模拟器使用

1)掌握eNSP模拟器的基本设置方法2)掌握使用eNSP搭建简单的端到端(主机)网络的方法3)掌握在eNSP中使用wireshark捕获IP报文的方法4)掌握设备的基本配置方法

2024-02-27 21:27:50 1110

原创 计算机网络—ENSP常用指令

—执行与命令相反的操作,如undo shutdown是开启该端口。——当进入了一个端口后,使用shutdown可以关闭该端口。——显示当前位置的设置信息,很方便了解系统设置。——创建汇聚端口1(若已创建则是进入)——设置ip地址,24代表24位网络号。——进入千兆以太网端口1的设置状态。——用用户模式切换到系统配置模式。——进入vlan 10的配置状态。——允许发送bpdu信息。——显示端口的相关信息。display 端口。

2024-02-27 21:11:11 834

原创 LeetCode20.有效的括号

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。

2024-02-27 20:57:16 443 2

原创 操作系统 进程和线程课后习题

操作系统中为什么要引入进程的概念? 什么是进程?七态模型中进程的状态有哪些?哪些事件可能引起不同状态之间的转换? 什么是进程控制块(PCB)?它包含哪些基本信息?在操作系统中引入进程的概念之后为什么还要引入线程的概念?什么是线程控制块(TCB)?它有哪些主要内容?试述进程的互斥和同步两个概念之间的差异。什么是信号量? 信号量表示系统中某一类可用资源的数量,是一个整形变量。\10. 如何区分公用信号量和私用信号量?

2024-02-27 13:48:29 1204 6

原创 计算机网络 数据链路层课后题

1.以太网帧有哪些不同的封装格式?他们有何区别和应用场景?2.为什么以太网有一个最小帧长和最大帧长3.数据链路层使用PPP协议或CSMA/CD协议时,既然不能保证可靠传输,为什么要对所传输的帧进行差错检测4.以太帧中的目的MAC地址和源MAC地址分别在局域网中的哪些环节起到重要作用?5.广播和泛洪的区别是6.如果交换表中不存在目标MAC地址的条目,交换机会采取怎样的行为?7.交换机如何处理广播和组播数据帧?它们是如何被转发到适当的目标端口的?8.交换机的多端口间同时传输是指什么?9.什么因素可以限制冲突域的

2024-02-26 23:23:39 1104 5

原创 LeetCode438.找到字符串中所有字母异位词

给定两个字符串 s 和 p,找到 s 中所有 p 的的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指由相同字母重排列形成的字符串(包括相同的字符串)。这是一道经典的字符串匹配问题,可以使用滑动窗口算法来解决。

2024-02-26 21:23:33 456 2

原创 unordered_map和map的区别

都是 C++ STL 中的关联数组容器,用于存储键值对(key-value pairs)。其中,键是唯一的,而值则可以重复。,因此可以自动按照键值排序,而且在查找、插入和删除操作中具有较高的效率。在某些情况下,也可以使用。因此,如果需要按照键值排序或需要保证元素顺序稳定,可以使用。,因此在查找、插入和删除操作中具有非常高的效率。,它们分别实现了哈希表和红黑树,用于存储不重复的元素。而如果需要快速的查找、插入和删除操作,可以使用。存储键值对时,元素会自动按照键值排序;存储键值对时,元素没有固定的顺序。

2024-02-26 20:42:06 551

原创 LeetCode3.无重复字符的最长字串

给定一个字符串 s ,请你找出其中不含有重复字符的的长度。要找到一个字符串中不含有重复字符的最长子串的长度,可以使用滑动窗口算法来解决这个问题1. 使用两个指针 left 和 right 分别表示滑动窗口的左右边界,初始时都指向字符串的开头。2. 遍历字符串,将字符依次加入滑动窗口,并使用一个哈希表(或数组)来记录每个字符最近出现的位置。3. 如果当前字符已经在哈希表中存在,并且其位置在滑动窗口内(即大于等于 left),则更新 left 指针为该字符上一次出现的位置加一,确保滑动窗口内没有重复字符

2024-02-26 20:34:16 445

原创 LeetCode234.回文链表

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false。

2024-02-25 21:09:26 394 9

原创 LeetCode200.岛屿数量

给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。

2024-02-25 09:43:13 349 1

原创 C++全排列函数next_permutation

全排列函数next_permutation是 C++ 标准库中的一个函数,位于 < algorithm > 头文件中。它用于生成给定范围内元素的下一个排列,并且会修改原始序列。表示成功生成了下一个排列;如果已经是最后一个排列,那么函数会将序列变为第一个排列,并返回。是一个迭代器,指向排列的结束位置(不包含在排列中)。函数会将当前序列变成下一个字典序更大的排列,并返回。是一个迭代器,指向排列的起始位置,而。分别指定了要生成排列的元素范围。下面是一个示例代码,演示了。

2024-02-24 10:41:06 896 7

原创 LeetCode46.全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以返回答案。

2024-02-24 10:25:54 351

原创 LeetCode104.二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。二叉树的是指从根节点到最远叶子节点的最长路径上的节点数。

2024-02-23 21:30:08 468 4

原创 LeetCode53.最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。是数组中的一个连续部分。

2024-02-23 17:32:54 487

原创 什么是ChatGPT

首先,让我们快速了解一下 ChatGPT 是什么。ChatGPT 是 OpenAI 开发的自然语言处理模型之一。您可以利用自然语言处理的强大功能来生成自然的、类似人类的句子。也可以进行自然对话,例如回答问题。您还可以在不同语言之间进行翻译并总结句子。ChatGPT的创新能力和潜在应用范围因其在广泛领域的有益潜力而吸引了全世界的关注。在本文中,我们解释了 ChatGPT 的开发技术、GPT 的演变历史、它的未来可能性等等。ChatGPT的开发技术正在日夜研究,未来可以期待准确性的进一步提高。

2024-02-23 17:12:44 1083

原创 LeetCode2.两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

2024-02-22 22:47:59 420 5

JavaWEB JDBC进阶 留言板的实现

留言板的实现 1、未登录用户可以浏览留言板中的内容 2、登录用户可以进行留言(留言信息包括标题,内容,留言人和时间) 3、登录用户可以对别人的留言进行回复 4、登录用户可以对自己的留言进行修改(修改后的留言显示修改的时间) 5、登录用户可以对自己的留言进行删除(删除留言时也同时删除相关留言的回复) 6、管理员可以删除任何用户的留言和回复。

2024-02-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除