自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录链表章二刷

链表,具有两个关键模块:指针域和数据域,指针域指向下一链表节点,数据域存储当前节点的数据链表和顺序表类似,同属于线性表这一数据结构大分支。

2025-06-12 09:56:08 489

原创 日常一水C

而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用,如下。该关键字作用是在编译时告诉编译器,当前函数的目的是覆盖基类中的虚函数。言简意赅:就是一个对象面对同一事件时做出的不同反应。override用于声明该派生类函数覆盖虚函数。通常情况下,虚函数被置于基类中被用于子类继承。virtual用于声明该函数为虚函数。override有且仅能用于虚函数。关键字其二:override。关键字:virtual。

2025-06-09 09:49:42 218

原创 动态规划之01背包

由于自己的个人原因(说白了就是懒),忙于各种事情,实在忙不过来(哭),只能把发文分享的事情一推再推,直到某天良心发现产生了想发文的想法,于是就写下了这篇文章,请各位大佬轻喷。

2025-06-06 19:57:09 912

原创 C++学习打卡-->继承

子类中定义了一个和父类一样的成员函数,子类对象将调用子类中的成员函数,因为此时子类将父类所有的同名函数全部隐藏,如果要调用父类的该函数,那么就需要指出父类名。如果调用的是有参构造,那么会看父类的有参构造,如果父类的有参构造不存在,那么编译器会报错。如果调用的是无参构造,那么会看父类的无参构造,如果父类的无参构造不存在,那么编译器会报错。派生类可以访问基类的公有和保护成员,但是它们在派生类中变为了保护成员。我们称被继承的类为基类,而继承它的类被称为基类的子类。基类的保护成员在派生类中保持保护。

2025-06-06 06:52:12 352

原创 学习打卡:滑动窗口二

摘要:文章探讨了滑动窗口在环形数组中的应用,以力扣2134题为例。介绍了两种解法:定长滑动窗口通过扩展数组计算1的最少交换次数;不定长滑动窗口则通过动态调整窗口边界优化计算。还总结了环形数组的通用处理方式,包括扩展数组、模运算、双指针等技术。这些方法能有效拓展算法思维能力,适用于各类环形问题求解。(149字)

2025-06-04 01:12:38 279

原创 C++学习打卡1.01

通过this指针可以访问当前元素的成员函数和数据成员,this指针还可以用来区分函数的局部变量和成员变量因为this指针指向对象,所以它存储了当前对象的地址,也可以用来传递给其他函数或对象进行操作。this指针是一个指向当前对象的指针,这个指针指向正在调用成员函数的那个对象。友元函数:这使得该函数可以不用处于类内也可以访问私有保护成员。友元类:一个类赋予另一个类具有访问其内部私有保护成员的权限。一个逻辑空间的嵌合体,将一堆逻辑类似的东西嵌在一起。使用方法:命名空间名::成员名。关键字:namespace。

2025-06-02 11:44:56 121

原创 C++学习打卡

C++的三大特性:封装,继承,多态类与结构体的最大区别在于,类可以封装对象的行为,也就是函数类分为数据成员和函数成员,这两者被称为对象的属性和行为如果我们要对对象的行为和属性进行操控,就需要访问类的成员访问类的成员不是随意的,这一点受到类中的权限控制,分为public,protect,private,public:公共(无论类内类外都可以访问)protect:家族私有(自己和自己的子类成员可以访问)private:自己私有(只有自己的类成员可以进行访问)在默认情况下,类的权限是private,而结构体的权限

2025-05-31 17:19:46 449

原创 2025/5/24复习日之周总结1

求一个子字符串,考虑使用滑动窗口,不断枚举右指针,直到发现a,b,c都出现过一遍,那么就移动左指针进行操作,直到a,b,c其中一种元素小于1,那么停止移动左指针,此时,我们知道现在的[left,right]是不满足条件的,但是[left-1,right]开始满足条件,同理[left-2,right]等等,直到[start,right]都满足条件,合法的连续子数组数目为left个,每轮循环就要使ans+=left,直到循环结束。当与高位进行交换之后,交换过来的数字未知,如果换回来的是个0,那就会出错,

2025-05-24 10:21:35 1108

原创 学习打卡4

我们说话的声波是模拟基带信号,基带信号相对频带信号而言,与数字信号,模拟信号并无对应关系,在电通信系统中,字,字由若干字节构成,不同档次的计算机有不同的字长,在32位计算机中,1字=32位=4个字节。基带信号不一定是数字信号,但它强调直接来自信源,由信源确定,字长,字的位数,32位计算机中,字长32位。(通俗来说就是发出者,传输媒介,接收者)64位计算机中,1字=64位=8个字节。基带信号:直接来自信源,未经调制的信号。上回书说到,字节,字,字长的关系。,噪声存在于整个通信系统中,但对。

2025-05-21 23:09:10 208

原创 学习打卡之滑动窗口

求一个子字符串,考虑使用滑动窗口,不断枚举右指针,直到发现a,b,c都出现过一遍,那么就移动左指针进行操作,直到a,b,c其中一种元素小于1,那么停止移动左指针,此时,我们知道现在的[left,right]是不满足条件的,但是[left-1,right]开始满足条件,同理[left-2,right]等等,直到[start,right]都满足条件,合法的连续子数组数目为left个,每轮循环就要使ans+=left,直到循环结束。不含重复字符,最长,连续字串,前一个代表使用哈希表,二三个代表使用滑动窗口。

2025-05-21 08:48:51 971

原创 leetcode每日一题打卡

这题思路为差分,现在还没学到,如果学到之后就会第一时间进行代码补充。差分数组 <-> 原数组 <-> 前缀和数组。原数组->前缀和:对原数组求前缀和。类似于积分,原函数,导函数的关系。前缀和->原数组:对前缀和求差分。求差分、前缀和是一对互逆的过程。差分->原数组:对差分求前缀和。原数组->差分:对原数组求差分。

2025-05-20 13:54:21 175

原创 学习打卡之二分查找

我们不断向右移动,直到遇到第一个大于target的数我们需要将left指针进行右移,即:当nums[mid]<=target,left=mid+1;这样就算我们的mid遇到了target,left也不会停止向右运动,直到nums[mid]比target更大或者到了数组末尾为止。

2025-05-19 22:26:04 844

原创 leetcode每日一题打卡

如果最短边等于最长边,那么一定等边,如果两短边之和小于等于最长边,一定组成不了三角形,如果有谁与中间边等长就是等腰,最后其他所有三角形就属于普通三角形。距离上一次每日一题打卡都是两天前了,为什么我要间隔1天再发博客呢,原因很简单,昨天的题目太难,本蒟蒻不会.....元素个数为1,所有边等长;元素个数为2,只有两条边等长;元素个数为3,所有边都不等长。这题真的很简单了,使用了哈希表进行操作即可。如果不符合三角形定义直接返回0。再分享个属于灵神的题解:排序。然后判断哈希表内元素个数,

2025-05-19 12:55:58 166

原创 leetcode打卡1.1

第二,我们这次的滑动窗口right从0开始,然后向右滑动,依次相加,如果得到的sum值大于等于target,那么我们就要进入循环将窗口缩小,直到sum小于0,并且,我们的循环中要注意计算答案,不能放在外循环中,那里得到的窗口都是sum<target的。这份代码中我采用了逆向思维进行查询,我们先将所有值相加得到sum,然后,很愚蠢的一件事情发生了,我居然没注意如果sum小于target怎么办,也就是说,如果sum小于target,那么直接返回0即可,但我疏忽了这一点。以下是我在闲余时写的笔记。

2025-05-18 15:38:47 928

原创 Leetcode每日打卡

今日力扣每日一题为题目条件n==nums.lenth 1<=n<=300 nums[i]为0,1,2。

2025-05-17 10:33:23 868

原创 学习打卡5

拷贝构造函数,里面的参数值从其他对象中直接拉取,注意拷贝构造函数的参数调用需要加上const和&,因为不能将被拷贝者发生变化。c++利用了构造函数和析构函数,解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译器强制要我们做的事情,因此如果我们不提供构造和析构,编译器会提供。其中person(10) 是匿名对象,一旦表达完成之后就会销毁,也就是会触发析构函数。同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题。//以下来自黑马程序员。

2025-05-16 12:02:11 255

原创 学习打卡4

在程序使用过程中,我们通常需要使用各种各样的变量,如int a,int b,但是我们使用过多的变量,而每个变量只能控制1种类型的元素。1,引用,就是给其他变量起别名的作用,语法为 数据类型 &别名=原名 ,如int a=10,int&b=a;这就意味者,指针的指向不可以发生改变,这一点和上面的引用一旦初始化就不可以再次更改。在函数形参列表中,可以加const修饰形参,防止形参改变实参。,我们的C++中就引入了一个很好的工具,叫做引用。4,当引用作为函数返回值时,注意不要返回局部引用,

2025-05-16 05:39:04 279

原创 学习打卡3

计算机性能指标:通常来说,如果让我来检测计算机的性能,我大概率会看计算机的运行速率,处理程序的速度快慢是计算机的性能指标之一计算机性能指标很多:吞吐量,响应时间,CPU时钟周期,主频,CPI,CPU执行时间,MIPS吞吐量,计算机单位时间内能够处理请求的数量响应时间,系统对请求做出回应的时间CPU时钟周期,计算机中最基本最小的时间单位主频(CPU时钟频率),CPU时钟周期的倒数,,单位为HzCPI,执行一条所需要的时钟周期数,而对于来说,CPI是一个平均值,执行所有指令所花费时钟周期数的平均值。

2025-05-14 00:22:51 622

原创 学习打卡2

共享,指内存中多个并发的进程同时使用一个系统资源,这是必然的,如果每个进程都需要不同的系统资源,那么这些系统资源的数量将会非常大,共享分为互斥共享方式和同时访问模式,顾名思义,互斥共享方式就是说有些资源可能不能同时被多种进程访问,同时访问模式说明有些资源允许同时被多种进程访问,宏观上看,资源是被多个进程同时访问,但从微观上来看,资源是多个进程交替访问。操作系统对整个计算机系统的软硬件进行管理和调度,对我的理解来看,操作系统既能操作硬件,又能操作软件,管理宽泛,应当是计算机中很重要的一个部分。

2025-05-12 22:49:37 125

原创 学习打卡1

采用存储程序工作模式,程序和数据以同等地位存入存储器,CPU根据指令周期的不同阶段来区分指令和数据,计算机在工作中能从程序首地址取出第一条指令并加以执行,以后就按照该程序的规定顺序执行其他指令,直至程序执行结束计算机硬件由五大部件:存储器,控制器,运算器,输入设备,输出设备组成数据和指令存储在存储器中,按地址访问计算机内部采用二进制0,1来表示指令和数据指令由操作码和地址码组成,操作码表示操作类型,地址码表示操作数在存储器的位置输入输出设备统称I/O设备。

2025-05-12 06:15:28 764

原创 Day6打卡-->二叉树

二叉树,说真的,我一开始觉得它就是链表的升级版,不过链表是节点之间一一对应,而二叉树多加了一个指针使我们的节点指向更多地方,差不多这意思,但是经过这几天刷题回来,我感觉二叉树好像也没那么简单。首先找到函数传参和函数返回值,首先我们要明确,如果我们找到了路,就应当返回一个正确的信号,没找到或者找错了,就应当返回错误信号,我们这里返回值采用了bool。之后就是单层逻辑,我们说,前序遍历是中左右,那么我们应当先经过中间节点,再进入它的左子节点,最后在进入它的右子节点,代码如下。=0时返回false。

2025-03-15 11:12:05 741

原创 复盘(Day3->Day5)

我们知道,我们知道了9和20之后便无法回去3,那么我们可能也没有再保存3的必要了,因此我们用数组将会开辟一块不再复用的内存空间造成浪费,如果用栈,我们存入数据的顺序是3,9,20,按照栈先入先出的特性,如果我们要拿出3还要先拿出9和20,造成本末倒置,因此我们就会选择队列进行操作,队列先进先出的特性很适合在3没有作用时将其移出队列。我们这个时候就会想,如果我们能够同时记录3指向的节点9和20那该多好,那我们就用容器存储这两个被3指向的节点,数组,队列,栈?至此,层序遍历大功告成。

2025-03-14 00:32:14 371

原创 打卡Day3(数据结构链表刷题篇)

这几天我鸽了好几天没发博客了,没有别的原因,因为多说无益,每发就是没发,任何搪塞都是对自己罪行的掩护。

2025-03-05 00:47:28 619

原创 算法篇--二分查找(打卡Day2)

知道了我们二分查找的限制条件之后,我们就可以使用二分查找了!我们依然假设一个数组num,我们这次的目标是找到数组中的3我们先设置变量left,right;int left=0;//数组元素个数然后我们就要依据我们要查找的区间进行分类一类是左闭右开;还有一类是左闭右闭;但它们总体的形式和下面大差不差。int func(int index)//注意此时的num数组是从小到大排序的int left=0;//如果找到该元素,直接传出下标。

2025-02-27 00:55:57 809

原创 数据结构篇--单链表移除元素(打卡Day1)

我们在进行链表操作时有许多操作,如增加,删除,查找等操作。今天我将讲解的是链表操作中的删除操作。

2025-02-26 00:18:53 294

空空如也

空空如也

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

TA关注的人

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