自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux——冯 • 诺依曼体系结构&操作系统初识

当学生的数量多起来了,校长就可以将全部学生的信息组织起来,当然组织的方式有很多种(链表、顺序表、树),而每种组织方式都有其自己的优势,于是就有了一门课程专门教我们管理数据的方式,那就是数据结构。与此同时,键盘将信息加载到内存后,CPU要获取内存中的信息并进行处理,处理完后写回内存,此时你的电脑网卡就回从内存中获取相应的信息,再通过网络传输到对方的电脑。,在你向朋友发送消息这个过程中,你的电脑当中的键盘充当输入设备、显示器和网卡充当输出设备,你朋友的电脑当中的网卡充当输入设备、显示器充当输出设备。

2025-04-01 18:02:04 816

原创 动态规划——回文串问题

这道题看起来比较困难,实际上并不难,我们利用前面动态规划的思想可以瞬间降这道题变得简单。说明:填表顺序那里笔误,应该是从下往上填每一行。6. 让字符串成为回文串的最小插入次数。5. 最长回文子序列。4. 分割回文串II。

2025-04-01 18:01:46 247 1

原创 Linux——Shell运行原理以及Linux权限

大家发现,我们对dir目录来说是other,我们拥有对其写的权限,那么我在dir目录下创建一个新文件test7.txt,此时大家注意这个文件没有写权限,但是我们还是能将它删除,所以这个现象就比较奇怪了,我不能“写”这个文件,但是却可以直接删除它,为了解决这个不合理的问题,Linux引入了。只要用户拥有某目录的可写权限,就可以删除该目录当中的文件,而不论该用户是否拥有该文件的可写权限,这显然是不合理的。2)在Linux当中,所有用户都要隶属于某一个组,哪怕这个组只有你一个人(此时该组就以你的用户名为组名)。

2025-03-12 19:14:04 5918 7

原创 动态规划——子数组系列

这里来总结一下关于初始化我们学到的三个方法,首先最常用的就是添加虚拟节点的方法,使用这个方法大家知道注意两个注意事项,前面的题目分析里有,这里不做赘述;这道题初始化和前面的题目是有所不同的,这里我们根据题目要求可以发现,最差的情况也是1,所以我们直接将f表和g表中的值初始化为1,这样做可以为我们省去一些麻烦。这里需要解释一下,在分析返回值的时候,我们有一种情况是数组中的值都为负数,此时我们不能返回0,0表示啥都不选,题目要求非空子数组。4. 乘积为正数的最长子数组。2. 环形子数组的最大和。

2025-03-12 19:13:57 559 1

原创 动态规划——简单多状态dp问题

动态规划dp问题

2025-03-09 19:47:13 755 3

原创 stack&&queue

栈与队列

2025-03-09 19:46:42 1098 3

原创 动态规划——路径问题

4. 下降路径最小和。3. 珠宝的最高价值。

2025-02-24 17:16:22 285 2

原创 优选算法——栈

关于栈的相关算法题

2025-02-24 17:15:58 817

原创 递归专题(Part2)

二叉树中的递归

2025-02-03 13:07:48 891 1

原创 递归专题(Part1)

递归I

2025-02-03 13:07:30 825 1

原创 C++——set&multiset&map&&multimap

set&map系列

2025-01-23 21:21:15 799

原创 优选算法——哈希表

大家来看上面的图,我们需要创建一个哈希表来存储数组下标以及对应位置的值,然后直接在哈希 表中查找每⼀个元素的target - nums[i] ,就能快速的找到「目标和的下标」。其实思路不难,我们只需要创建一个哈希表,把其中一个字符串放进去,对应位置++,然后再遍历另一个字符串,对应位置--,对应位置的值如果刚好都减为0,说明可以重排;我们创建这样的键值对,key为按照ASCII码值排好序的字符串,vaule为对应异位词,将它们放到哈希表中,最后我们需要将哈希表中的vaule提取出来就得到了我们想要的结果。

2025-01-23 21:20:55 1039

原创 C++——继承

继承⼀定程度破坏了基类的封装,基类的改变,对派⽣类有很⼤的影响。多继承:⼀个派⽣类有两个或以上直接基类时称这个继承关系为多继承,多继承对象在内存中的模型 是,先继承的基类在前⾯,后⾯继承的基类在后⾯,派⽣类成员在放到最后⾯。

2025-01-05 17:02:50 922 1

原创 C++——多态

2. 多态的定义及其实现前言前面我们介绍了继承的相关内容,今天我们来介绍多态,这也是C++中一个非常重要的概念。在笔试和面试中经常会考到,所以大家如果对C++感兴趣,请继续阅读本篇内容,下面进入正文部分。1. 多态的概念多态(polymorphism)的概念:通俗来说,就是多种形态。多态分为(静态多态)和(动态多态),这⾥我们重点讲运行时多态,编译时多态(静态多态)主要就是我们前⾯讲的。

2025-01-05 17:01:48 1112 1

原创 优选算法——分治(归并)

分治——归并

2024-12-17 23:05:28 511

原创 优选算法——链表

链表进阶

2024-12-17 23:05:07 443 1

原创 优选算法——分治(快排)

优选算法——分治

2024-12-12 21:17:09 648 1

原创 优选算法——位运算

位运算

2024-12-12 21:16:59 423 2

原创 vector的模拟实现

如果此时我们使用的是memcpy函数进行拷贝构造的话,那么拷贝构造出来的vector当中存储的每个string的成员变量的值,将与被拷贝的vector当中存储的每个string的成员变量的值相同,即两个vector当中的每个对应的string成员都指向同一个字符串空间。对容器进行析构时,首先判断该容器是否为空容器,若为空容器,则无需进行析构操作,若不为空,则先释放容器存储数据的空间,然后将容器的各个成员变量设置为空指针即可。

2024-12-07 17:21:02 1171 1

原创 优选算法——二分查找

二分算法

2024-12-07 17:20:48 1216 1

原创 C++——类和对象(Part3)

C++——类和对象第三部分

2024-11-26 22:06:10 1005 3

原创 STL——string类的模拟实现

前言前言前面为大家介绍了string类的使用,本篇博客我们自己来实现一下string类,这里说明一下,我们只实现一些核心的接口,目的是让大家了解string的底层,加深对string类的理解和掌握,下面进入正文部分。1. 默认成员函数1.1 构造函数构造函数设置为缺省参数,若不传入参数,则默认构造为空字符串。字符串的初始大小和容量均设置为传入的长度(不包括’\0’)这里大家在开空间的时候需要多开一个,因为capacity是不包括\0的,所以我们需要为\0多开一个空间。1.2 拷贝构造函数。

2024-11-26 22:06:06 1150 1

原创 C++——类和对象(part2)

像Stack这样的类,虽然也都是内置类型,但是_a指向了资源,编译器⾃动生成的赋值运算符重载完成的值拷贝/浅拷贝不符合我 们的需求,所以需要我们⾃⼰实现深拷贝(对指向的资源也进行拷贝)。6. 传值返回会产⽣⼀个临时对象调用拷贝构造,传值引用返回,返回的是返回对象的别名(引⽤),没有产⽣拷贝。

2024-11-17 22:12:42 884 1

原创 优选算法——双指针

双指针算法

2024-11-17 22:12:39 857 3

原创 STL——list的介绍和使用

前言前言本篇博客我们继续来介绍STL的内容,这次我们要介绍的是list这个容器,可以简单地理解为顺序表,当然和我们之前学过顺序表还是有区别的,具体内容大家可以继续往下阅读,下面进入正文。1. list简介1.list是一种可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2.list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立结点当中,在结点中通过指针指向其前一个元素和后一个元素。

2024-10-30 22:50:58 1070 2

原创 STL——vector的介绍和使用

本篇博客为大家介绍vector的内容,之前我们说过的string,vector也是一种容器,学习的模式可以类比string,包括后面要学习的其他容器,它们都有相似之处,也同样都比较重要,是STL的核心内容,所以大家需要重点理解并掌握这里的内容,OK,下面进入正文部分。在该代码中,我们本意是使用元素2的迭代器在原序列中2的位置插入一个10,然后将2删除,但我们实际上获取的是指向2的指针,当我们在2的位置插入10后,该指针就指向了10,所以我们之后删除的实际上是10,而不是2。这里与string是类似的。

2024-10-30 22:50:43 1164 3

原创 STL——string类

STL——string详解,string中各类接口介绍

2024-10-15 14:57:39 1184 7

原创 各类排序详解

排序算法详解

2024-10-10 20:29:23 1037 1

原创 C++——模板初阶+STL简介

C++模板+STL简介

2024-10-10 20:29:19 970

原创 C/C++内存管理

C/C++内存管理相关知识

2024-09-25 21:44:22 1027 2

原创 数据结构——二叉树

二叉树——堆

2024-09-25 21:44:18 1352 1

原创 链表OJ题

本道题存在一个有趣的结论:让一个指针从链表起始位置开始遍历链表,同时让一个指针从判环时相遇点的位置开始绕环运行, 两个指针都是每次均走一步,最终肯定会在入口点的位置相遇。这个问题其实很容易解释,当两个指针都进环的时候,它们之间存在差距,每走一次,快指针就会比慢指针多走一步,差距也就同时减小一步,这样,迟早差距会变为0,即追上。第二,我们怎么找交点?

2024-08-17 16:09:50 385 1

原创 单链表的应用

前言前言之前我们介绍了链表的知识,本篇博客我们来看一些关于单链表的OJ算法题目,大家可以通过这些题目来加深对单链表的理解,如果你对本篇内容感兴趣,请继续往下阅读,下面进入正文部分。题目1 移除链表元素这道题有两种思路,第一种思路:我们找出链表中等于val值得节点。然后将他们删除掉;第二种思路:我们创建一个新链表,找出值不等于val的节点,然后将它们尾插到新链表中。

2024-08-17 16:09:32 672 3

原创 C语言——编译与链接&&预处理详解

2. 更为重要的是函数的参数必须声明为特定的类型。大家可以看到,这里我们本来是相求出两个数中的较大值,我们想要的结果应该是5,但是输出结果为6,所以这就是宏参数的副作用。当宏参数在宏的定义中出现超过⼀次的时候,如果参数带有副作用,那么你在使用这个宏的时候就可能出现危险,导致不可预测的后果。

2024-08-09 17:45:54 1133 1

原创 C语言——查漏补缺

本篇博客主要记录一些C语言的遗漏点,完成查漏补缺的工作,如果读者感兴趣,可以看看下面的内容。都是一些小点,下面进入正文部分。

2024-08-09 17:45:27 1615 4

原创 C语言刷题小记3

分析:本题要求我们来删除一个序列中指定的数字,这里大家要注意我们要删除的数字可能不止出现一次,所以我们需要用两个变量来进行处理,一个变量来遍历数组,一个变量来存储数组的位置,大家来看下面的代码;分析:本题要求我们来进行矩阵的交换操作,分别有行交换和列交换;当数组的值不等于我们要删除的值时,我们就将它存起来,然后让j变量和i变量分别往后遍历,最终就可以实现删除指定位置数据的效果。分析:本题要求我们对序列中的整数进行去重操作,那么我们要对数组进行遍历,然后依次比较每个数后面的所有数,遇到相同的进行去重。

2024-08-04 19:42:09 390 1

原创 C++——类和对象(part1)

• ⼀个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量。,函数指针是⼀个地址,调用函数被编译成汇编指令[call地址],其实编译器在编译链接时,就要找到函数的地址,不是在运行时找,只有动态多态是在运行时找,就需要存储函数地址,这个我们以后会讲解。

2024-08-04 19:26:03 1083 2

原创 C++入门基础

这样⼀些场 景下a*3的和结果保存在⼀个临时对象中, int& rd = d 也是类似,在类型转换中会产生临时对象存储中间值,也就是时,rb和rd引用的都是临时对象,而C++规定临时对象具有常性,所以这里就触发了权限放大,必须要用常引用才可以。

2024-08-03 18:49:52 613 2

原创 C语言刷题小记2

分析:拿到这道题,大家可能会有一种思路,就是创建一个新数组,然后进行判断,判断结束后将符合条件的元素再插入到新数组,这种想法其实是正确的,但是很可惜,本题不能用这样的方法,因为题目要求不能使用额外的数组空间,这就意味着我们是不能创建新数组的,所以本题就需要采取其他做法;大家来看,这里我分装了一个函数,里面实现的就是冒泡排序的逻辑,在主函数中,我们创建了数组去存储我们输入的成绩,然后将数据交给函数进行排序,最终我们需要返回的就是最大值;反之,我们将最后一位去除掉,将其后一位作为最后一位,再次进行判断。

2024-07-24 23:02:27 907 4

原创 贪吃蛇游戏

打印好后,我们再设置贪吃蛇的属性。这里我们要注意,食物的坐标是随机生成的,但是也不是完全随机,必须满足上面提到的几个条件,随机数的生成我们需要用到srand函数,这个我们在上面的测试文件中已经写出来了,这个函数是包含在<time.h>这个头文件中的;

2024-07-11 08:00:00 2106 6

空空如也

空空如也

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

TA关注的人

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