自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【LeetCode刷题】前缀和解决问题:976.和可被k整除的子数组

Day 17:前缀和解决问题:976.和可被k整除的子数组

2024-06-15 23:57:42 322

原创 【LeetCode刷题】前缀和解决问题:560.和为k的子数组

Day 16:前缀和解决问题:560.和为k的子数组

2024-06-14 22:35:12 364

原创 【LeetCode刷题】前缀和解决问题:742.寻找数组的中心下标、238.除自身以外数组的乘积

Day 15:前缀和解决问题:742.寻找数组的中心下标、238.除自身以外数组的乘积

2024-06-02 18:42:18 635 2

原创 【LeetCode刷题】二分查找:寻找旋转排序数组中的最小值、点名

与 当前数组各个数异或,若结果为x,则返回x;当x等于0时,需要格外处理,有两种情况,缺0或者是最后一个数后面的数。这道题的二分查找很有趣,需要细节,能发现二段性,这题就相当简单。若结果为x,则返回x;当x等于0时,需要格外处理,与思路3一样。遍历数组,寻找后一位减前一位的差为2的数,找到就返回,没找到就返回最后一个数的下一个。这里我们可以有两种方式:以A为参照,以D为参照,来找C点的值。这道题很简单,有很多思路,简单的我就直接讲一下过程就OK。分别将数据导入哈希表,然后查看哪个数的个数为零,返回该值。

2024-06-01 20:08:47 762

原创 【LeetCode刷题】二分查找:山脉数组的峰顶索引、寻找峰值

不管哪种,我们只需要找区间中峰顶的值,反正逻辑是一样的,下降就找前面,增加就找后面,不管中间怎么变,是这个“山峰”跳到另一个“山峰”,反正找到其中一组就可以,随着区间不断缩小,也会集中在一个“山峰”上。这题情况还是比较多,递增开始,还是递减开始,递增开始我们需要找后面比较大的值,递减开始,说明第一个值就可以。暴力枚举的话就是找单调性,越来越大,直到找到,一个数大于后一个数。就是单调性相关的问题。

2024-06-01 14:25:18 372

原创 【Leecode刷题】二分查找:x的平方根、搜索插入位置

二分查找:x的平方根、搜索插入位置

2024-05-30 20:25:03 304

原创 【LeetCode刷题】专题三:二分查找模板

专题三:二分查找模板

2024-05-30 19:46:47 779

原创 【LeetCode刷题】滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串(困难)

滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串

2024-05-28 23:53:07 444

原创 【LeetCode刷题】滑动窗口解决问题:水果成篮、找到字符串中所有字母异位词

滑动窗口解决问题:水果成篮、找到字符串中所有字母异位词

2024-05-27 14:46:31 635 1

原创 【C++语言】继承:类特性的扩展,重要的类复用!

class 派生类 : 继承方式 基类 {};继承是C++的语言的一重大进步,更加的面向对象,但存在一些缺陷,需要避免。世界还有很多值得探索,所以请天天开心!🎈。

2024-05-26 23:49:35 1121

原创 【LeetCode刷题】滑动窗口思想解决:最大连续1的个数 III、将x减到0的最小操作数

滑动窗口思想解决:最大连续1的个数 III、将x减到0的最小操作数

2024-05-26 20:21:04 1065

原创 【LeetCode刷题】滑动窗口思想解决问题:长度最小的子数组、无重复字符的最长子串

滑动窗口思想解决问题:长度最小的子数组、无重复字符的最长子串

2024-05-26 14:52:25 1101

原创 【LeetCode刷题】三数之和、四数之和

三数之和、四数之和

2024-05-24 16:18:21 400

原创 【LeetCode刷题】有效三角形个数、查找总价值为目标值的两个商品

有效三角形个数、查找总价值为目标值的两个商品

2024-05-23 19:50:00 458

原创 【C++语言】String 类关键函数实现,手搓一个简单字符串类!

简单模拟实现string类

2024-05-22 22:38:53 263

原创 【LeetCode刷题】两数之和、两数相加

1.单位数相加的方法 add变量引入。2.单链表节点 new+构造的应用。

2024-05-22 22:17:53 477

原创 【LeetCode刷题】快乐数、盛水最多的容器

为例:开始计算第一个和最后一个围成的体积:v1= 4*3=12,然后我们可以发现,我们以两者中高度小的,来和两者之间的数来计算体积,发现宽度(w)对于v1来说一直在减小,高度最高为4,所以不管怎么计算这个体积都是小于v1的。这里我们把两种情况抽象为两个都后再后面会成环,第一种的环上全是1,第二种只有相交点相等,其他都不相等。–>n

2024-05-21 23:58:39 231

原创 【Acwing积累】第一周(完全数、只出现一次的字符)

我们求x的约数,其实不用找全,找到小的那个(假设为d),大的那个(假设为e)也可以通过除法得到。因此我们可以通过数学推导:因为。string类,合理运用成员函数:find和rfind。当正向遍历时,出现正反查找位置都是同一个的时候,表明该字符只出现一次。根据上述内容, 这道题可以直接 O(1)O(1) 解决.因此我们可以少找一半的约数。一次循环数据量可以从最高。两个循环,一一对比,复杂度O(n*n),比较烂。

2024-05-21 01:42:22 402 2

原创 【LeetCode刷题】移动零、复写零

C语言来实现的话就是,遍历遇到零,就后面的数向前覆盖,在补一个零。这里C++其实也是相同的思路,erase删除,push_back尾插。但是位置的时候又会引发一个问题:cur最后一个位置是0,会导致dest位置越界(这一点需要考虑)遍历,是零就插入一个零,注意i需要加1,防止再次访问已处理过的零,插入后再尾删即可。我们不能从前往后写,因为dest指针会跑到cur后面,导致后面未处理数据被覆盖。将数组分为两个区间,左边为非零区间,右边为零区间。将数据分为三个区域:非零区域,零区域,未处理区域。

2024-05-21 00:38:58 539

原创 【C++语言】想学STL,先细细拿捏string类,万字详解string类 (内附精美思维导图)

这一节我们将详细学习string字符串这个类,string类是早于STL标准库的,后面把string归属到STL,支持标准库中很多操作。触类旁通,通过学习string,也便于我们更好的学习STL。活不多说开始~

2024-05-19 21:49:01 668

原创 【LeetCode刷题】栈和队列题目练习~

一个栈保持空队列,每次push就往里push,再把另一个栈顺序的队列的元素全部导到这个刚push一个的元素里。遍历tokens,是数字就按顺序存在容器里,遇到运算符,就取出最近插入的两个数字计算,注意前面的减后面的(减法和除法注意),然后再把计算结果返回到容器里。正常栈push进数据,再要pop或者返回top的时候,几把数据push到辅助栈里,然后辅助栈pop、top都可以。一个队列思路就是:一个元素进去,要保证它是在front位置,怎么保证,把前面的所有元素再一次push进队列就可以。

2024-05-19 12:24:05 822

原创 【C++语言】模板(内附精美思维导图)

模板(内附精美思维导图),欢迎大家指正~模板分离,类模板

2024-05-17 22:06:55 735 1

原创 【LeetCode刷题】只出现一次的数字(Ⅰ、Ⅱ、Ⅲ)

【Day1】如果有一定基础的同学一定会说:一眼异或!

2024-05-14 21:36:08 326

原创 【C++语言】动态内存管理

动态内存管理的方法:malloc/calloc/realloc/free 以及new/delete的用法

2024-05-14 20:45:04 821

原创 【C++语言】Date类的代码实现(操作符重载运用)

主要是运用类和对象相关知识,实现一下Date类,代码相对简单!

2024-05-10 21:18:06 995

原创 【C++语言】类和对象(下)

初始化列表、友元、static、内部类

2024-05-10 21:17:07 560

原创 【C++语言】类和对象--默认成员函数 (中)

主要介绍了默认构造函数,析构函数,拷贝构造函数,赋值运算符重载。

2024-05-06 21:40:04 595

原创 【C++语言】初步认识面向对象编程&&类和对象(上)

此篇博客为简要介绍面向过程与面向对象的概念及区别,类的实例化对象、定义、封装、以及类的大小。

2024-04-15 19:51:31 937

原创 【C++语言】冲突-C语言:输入输出、缺省参数、引用、内联函数

C++语言输入输出、缺省参数、引用、内联函数

2024-03-27 19:09:56 931

原创 【Linux操作系统】权限管理和粘滞位

权限管理。chmod 、umask等权限指令

2024-03-22 16:20:37 686

原创 【Linux操作系统】命令的运行原理

命令运行原理,Linux操作系统内核

2024-03-22 16:18:50 297

原创 【Linux操作系统】基本指令

linux基础相关指令

2024-03-18 20:16:41 712

原创 【C++语言】冲突-C语言:命名空间

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的//变量:int a = 10;//函数://类型:结构体int val;关于C语言和C++的一些冲突,命名上就是突出的一点,C语言无法解决,所以C++提出方案。命名空间的介绍,以及namespace关键字的使用命名空间的三个特点。

2024-03-15 23:16:20 983 1

原创 【Linux操作系统】历史与环境

Linux历史以及环境搭配的方法(但并未具体展开,后续补充,有问题也可以询问博主)

2024-03-15 21:25:06 884

原创 【数据结构】C语言实现:栈(Stack)与队列(Queue)

栈和队列,栈用顺序表实现,队列是用链表实现

2023-12-08 19:37:18 320

原创 最复杂的链表(带哨兵位的双向循环链表)

最复杂链表的接口详解(带头结点的双向循环链表),其实是最简单的链表

2023-09-28 09:30:06 136

原创 链表入门(单链表讲)

我们在了解线性结构最重要的就是明白这个结构是如何定义的,是怎样的一种结构。这里单链表的定义,我们考虑的是我们需要这个结构中包含什么,这里我们需要的是一个数据域和一个指针域数据域用于存储数据,指针域用于链接每个单链表节点。//typedef 一下,方便我们更改所需存储的类型//数据域,用于存储数据//指针域,用于链接下一个结点}SLTNode;

2023-09-27 21:45:51 208

原创 顺序表详解(接口详解)

主要是介绍了数据结构顺序表及其相关接口实现

2023-09-13 09:52:57 119

原创 时间复杂度与空间复杂度详解

时间复杂度与空间复杂度详解!

2023-09-11 21:20:11 175

原创 C++入门攻略

/变量: int a = 10;//函数: int Add(int left , int right) {} //类型:结构体 struct Node {int val;

2023-06-13 19:52:24 638

空空如也

空空如也

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

TA关注的人

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