自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 yml 文件中自定义配置对象类型、数组类型、对象数组,以及三种注入方式

在 yml 中可以配置 对象、数组、对象数组等信息,还可以直接将配置信息,赋值给实体类字段。

2023-11-19 19:14:11 1494 1

原创 队栈和 Hash 的经典算法题

所以我们可以考虑再引入一个栈,让两个栈的栈底相连,每次入队时,依次入右边栈,而出队时,先将右边栈中元素依次入左边栈,然后再从左边栈依次出栈即可。利用两个队列进行实现,在元素做入栈操作时,可以先将元素入队 queue2 中,然后将 queue1 中的元素再依次入到队列 queue2 中,再交换 queue1 和 queue2 的引用,最后得以实现后入队的元素在 queue1 的最前面。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。

2023-10-12 08:55:01 69

原创 队列和 Hash 的特征

散列算法又称为哈希算法,主要作用就是将任意长度的二进制明文,映射为较短的二进制串也就是哈希值,并且这种二进制明文很难映射成相同的哈希值。队列是一种常用的数据结构,遵循先入先出(First-In-First-Out,FIFO)的原则,就是一个节点入队,出队时出先入队的元素。哈希(Hash)又被称为散列,是不管输入数据的长度有多长,最终都会通过散列算法将其以固定长度输出,这个输出的值就被称为哈希值。队列底层可以利用数组或者链表进行实现,以下是利用链表来实现。

2023-09-12 21:47:16 85

原创 栈的经典算法问题

此时我们可以定义两个栈,其中一个在入栈的时候只将当前最小的元素入栈,我们称之为最小元素栈。另一个正常入栈元素,当需要获取最小元素时,直接返回最小元素栈中栈顶的元素即可。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。表示右括号,再每次遍历字符串的时候如果是左括号就直接入栈,如果是右括号,就判断与栈顶元素在。设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。是否匹配,若能匹配则出栈,不能则不是有效括号

2023-09-05 08:17:49 78

原创 理解手写栈

栈是线性表中的一种,也被称为是访问受限的线性表,作用和数组类似,都是存储数据的一种结构。和数组不一样的是对数据的操作,以及存储数据的结构。

2023-08-31 21:35:00 45

原创 双指针的思想以及应用

双指针其实就是两个变量,用来处理数组,字符串等问题很方便。而双指针在平时用的最多的两种分别是:两个指针即可以一快一慢向后走,这种指针一般称为快慢指针,还可以从两边向中间走,这种指针一般称为对撞型双指针。

2023-08-28 09:00:59 76 1

原创 爱得起的数组

在遍历数组的过程中遇到和待删除元素相等的数组元素时,记录其位置,然后将当前位置之后的元素依次向前移动一位即可完成删除(其实相当于是让后面的元素覆盖了前面的元素),最后将数组内已赋值元素数量减一。数组单调说明数组中的元素要么都是递增的,要么都是递减的。循环赋值的优点是赋值方便,不需要自己一个一个手写需要赋值的元素,但是这种方式缺点也很明显,就是无法指定需要赋值的元素。可以从数组一的最大索引值开始向前遍历,一边遍历一边将数组一和数组二中已赋值的较大元素赋值给数组一的最大索引。的优点相反,就是有点点累。

2023-08-15 07:27:07 25

原创 链表反转的拓展问题

由于整数是从高位向低位按照顺序存储在链表中的,所以在给这个链表加 1 时需要先进行反转,然后运算结束之后再反转回来即可得到预期结果,代码如下。利用快慢指针,一边找链表的中间位置,一边进行反转,最后同时遍历已反转部分和未反转部分,判断其节点值是否相等。将链表中待反转的区间内,每遍历一个节点,就将其重新插入这个区间的起始部分,以此类推。循环,在循环内出栈节点值,然后将该值进行加一,加进位值,得到。将待反转的部分截取出来,单独反转后再接入原链表,代码如下。,以此来创建节点,利用头插法插入。即可得到加一后的结果。

2023-08-11 11:59:15 39 1

原创 MySql | 中级知识 | 学习笔记

右外连接与左外连接相反,它返回右表中所有的行,以及与右表中的行满足连接条件的左表中的行。如果左表中的行没有与右表中的行匹配的行,那么将在结果中显示空值(NULL)左外连接返回左表中所有的行,以及与左表中的行满足连接条件的右表中的行。如果右表中的行没有与左表中的行匹配的行,那么将在结果中显示空值(NULL)自连接是指连接同一张表的不同行,使用相同的表进行连接操作。约束是为了保证进入数据库的数据都是有效的、可靠的,会对列的值进行一些约束,主键约束最显著的特征是主键列的值是唯一的,在创建或更改表的时候可以通过。

2023-08-06 21:27:18 31

原创 手写链表反转

由于本人还在学习中,如果有问题,希望能请各路大佬能够指点一二,😊😊😊。

2023-08-03 21:07:06 101

原创 链表高频面试算法题解析

在出栈的同时,从链表的头部开始向后遍历,并将栈中的元素与链表中的元素进行比较,这样操作的目的是比较栈中的元素与链表中的对应元素是否相等。定义三个指针,其中利用遍历让两个指针一个指向待删除部分的前一位,一个指向待删除部分的后一位,令第三个指针指向待插入链表的最后一位,即可将待删除部分替换为待插入链表。创建新链表,同时遍历两个链表将两个链表中较小的元素优先接入新链表,直到某一个链表为空后,再将另一个非空链表中未遍历到的元素接入新链表中。步,然后快慢指针再同时向后遍历直到快指针遍历到链表的末尾时,则慢指针。

2023-08-02 21:06:28 40 1

原创 MySql | 基础知识 | 学习笔记

注意:以上命令主要是以数据库管理员的身份进行登录的(拥有所有数据库相关的操作权限),该命令也可以作为数据库安装和配置是否成功的检验方式之一,以下表示登录成功。写法一中要插入的值的顺序和前面列名的顺序一致,值的类型也和前面列名对应的数据类型一致,值的个数和前面列名一致即可。注意:新创建的用户只有登录数据库的权限并没有任何操作数据库的权限,所以我们还需要为新创建的用户授予数据库操作等方面的权利。数据库顾名思义就是存储数据的仓库,而 MySql 则是数据库中关系数据库的一种,它主要是以二维表的结构来存储数据。

2023-07-23 09:28:36 104 1

原创 小白也能学会的链表(Java)

在 Java 中单向链表主要是利用类来进行构造,且一个链表通常是有多个节点,节点与节点相连形成一种链式结构。在链表插入元素之前需要引入一个头指针 head 它的 next 指针一般指向的是一个链表中的首元素。与单向链表不同的是,双向链表多一个可以指向前一个节点的指针 prev。需要遍历整个链表找到待插入节点的前一个节点之后再进行插入操作。让待删除节点的前一个节点直接指向待删除节点的后一个节点。将最后一个节点的前一个节点直接指向 null 即可。再将待插入节点的前一个节点指向待插入节点。

2023-07-19 15:14:02 177

原创 JDK17的安装教程

JDK17 的安装教程

2022-07-19 20:06:37 10655 1

空空如也

空空如也

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

TA关注的人

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