自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis01-短信登录

基于上述思路,一共有三个接口需要完成,一是发送短信验证码,二是短信验证码注册,登录,三是校验登录状态,我将会逐一的从Controller层,Service层进行讲解。

2024-07-13 20:55:13 166

原创 队列-实现二叉树层序遍历

上面是对打印在控制台上的数据进行的调整,让每一层分开打印,先创建一个c1,我们要利用两层循环,这是一种改变循环条件的内层循环,是我没接触过的知识,就是一个节点如果有左节点或右节点,就将c2这个下层节点数加一,最后在内层循环结束后,将c2赋值给c1,改变循环的条件从而控制打印节点的数量,大家可以对照着上面核心代码的执行过程,自己去验证一下。我们只需要将打印的代码中,在一次外循环中创建一个小集合,在内循环结束后,将小集合中添加到大集合中即可,内循环做的事情就是将数据添加到小集合当中。最后返回大集合即可。

2023-12-07 14:45:30 227

原创 队列-环形数组实现(3种方法)

还是先创建头尾指针,和一个数组,创建对象调用构造方法时,传入数组的容量,+1是因为要留出一个位置单独给尾指针(后续会详细说到)。

2023-12-05 19:42:05 745

原创 队列——链表实现

重写的添加节点的方法,先做是否队列是否已满的判断,当队列满了,就不能再添加节点了,如果不满,就继续创建新的节点并添加,并将当前尾节点的next赋值为新创建的节点,并更新尾节点为新创建的节点。如上所示,不再作过多赘述,删除的是哨兵节点即头节点的下一个并返回被删除的节点的值,有一个点需要注意即当队列中只添加一个节点的时候,删除就只剩下一个哨兵节点了,此时尾节点就是头节点。重写的判断是否为队列是否为空的方法,当头节点和尾节点所指向的地址值相等的时候,就代表其中没有其它节点,即为空。节点类内部的带参构造。

2023-12-04 19:41:55 275

原创 每日题解8(合并一个数组中的两个区间)

主要是为了理解一定的归并排序的思想。k代表新数组的当前索引。代码逻辑为当第一个有序区间的当前值小于第二个有序区间的当前值时,就将第一个区间的当前值赋值给给新数组当前索引所指向的元素,并将第一区间的指针向后移动一位,同时新数组的指针也向后一位,再重新调用方法,利用递归的话,就是在传参数的时候+1即可,反之亦然。

2023-12-03 23:36:50 216

原创 每日题解(7)判断回文链表

我们将查找中间节点和反转链表放在一个循环中,当然也可以抽出来放在不同的方法中去实现,只不过执行速度没有那么快,第一个循环中就是查找中间节点和从中间反转链表,因为奇数会把中间的那个链表也算上,导致无法实现,画一下图就能知道,如果是奇数链表,p2快指针只会指向最后一个节点,而不是null,所以做一个if判断,如果是奇数链表,就向后跳一个,这样我们在比较的时候,就不会带上中间的节点。最后就是逐一比较节点值的方法,就不做过多解释了。思路为找到中间节点,并将中间节点前的链表反转,最后逐个进行比较。

2023-12-03 11:34:26 117

原创 每日题解(6)判环算法(快慢双指针)

还有此时这种情况,就是当整个链表都为环时,这种情况较为特殊,针对此种情况,就是当兔兔指针追上龟龟指针的时候,就正好在起点,2x-x=12,x=12,就是走12步,用数学的芝士解释一下,如果此时我们的判断条件t==r在移动指针的代码之后,两个指针各走一次,还是相同,所以找到的环入口就错误了,所以判断条件在移动指针的代码之前,这样即使是最为特殊的情况,我们的代码也能将其解决!如果没有环,我们就返回null。

2023-12-02 22:08:31 104

原创 每日题解(5)根据值删除节点

当p2不等于空的时候就一直执行代码,因为我们始终以p2作为判断的条件,如果是要删除的,就只将p2向后移,如果不是,p1和p2都向后移动,直至p2等于null。节点类以及重写的toString方法。调试过程。

2023-11-30 13:49:48 197

原创 每日题解(4)单链表反转的5种方法

方法3。

2023-11-29 22:48:49 134

原创 每日题解(3)汉诺塔

将圆盘的移动分为三个阶段,第一个就是将n个圆盘的n-1个圆盘当作一个整体,最下面的最大的圆盘当作一个整体,将n-1个圆盘借助c移动到b的过程定位第一个过程,将最大的圆盘从a移动到c定位第二个步骤,第三个步骤定为将b上的n-1个盘子借助a移动到c为第三个步骤,里面的步骤都存在递归,我们只需要知道具体的步骤是什么即可,剩下的业务交给计算机处理即可,否则很容易被绕进去。我们可以借助此print方法,详细的知道每一步的移动情况。1,2,3分别代表三个步骤。

2023-11-28 16:05:03 28

原创 每日题解(2)杨辉三角及其两种优化

先分析一下,如何将上方图片左对齐,变为正上方图片的格式,由图所示,从下往上推,空格数量依次递增,i是从0开始,所以容易得出空格的数量规律为(n-1-i)*2。因为此打印方法中的j也是从0开始的,所以到num-1,正好是num个空格,这是需要考虑的边界问题。

2023-11-28 15:38:20 138

原创 美颜相机v2.0

窗体添加按钮增加文件打开 保存等操作动作监听器参加图像处理类对象根据点击的按钮,实现不同的图像处理效果并绘制出来。点击打开按钮 实现选择图片功能加载图片图像滤镜绘制 使用缓冲绘图 加快速度。

2023-11-20 10:11:15 28

原创 美颜相机v1.0(分布实现)

窗体添加按钮动作监听器参加图像处理类对象根据点击的按钮,实现不同的图像处理效果并绘制出来。加载图片图像滤镜绘制(内容不光有关于美颜相机的实现,还会解释一些我在当中遇到的问题,会有一些我自己的解释。

2023-11-19 11:58:02 33

原创 每日题解(1)根据规则将箱子分类

因为返回值类型是字符串,所以在方法声明中,类型为String,通过调用Math方法,将最大值赋值给maxd,然后再计算体积,最后定义一个布尔类型,将值赋值给isBulky和isHeavy,最后再通过if语句来达到我们想要的效果。,分别表示一个箱子的三个维度和质量,请你返回一个表示箱子。,箱子的体积等于箱子的长度、宽度和高度的乘积。

2023-10-20 14:17:36 30

原创 Java-数据结构-链表以及部分简单方法的实现

首先先进行判断,判断传进来的参数是否为空,然后再进行分类讨论,如果我们要删除的是头节点,那么我们可以直接将头节点的下一个节点中的属性赋值给head,将头节点替换掉,如果要删除的不是头节点,那么我们将temp.next赋值给temp直到temp.next.value和传入的参数即要删除的参数相同,我们就将temp.next.next赋值给temp.next这样,我们需要删除的节点就被它的下一个替换掉了,被删除的节点之后的节点,将会通过while循环,依次向前填充,这样就实现了元素移除的方法。

2023-10-18 16:17:08 30

原创 Java-数据结构-动态数组的实现

移除元素的方法,还是先判断是否在合法的区间内,再将当前元素赋值给oldE,因为删除后,当前元素会为空,所以所以要把所有的元素向前覆盖,即通过一个for循环,因为values[size]没有元素,所以for循环中的最大值应该为size-1,因为移除元素后,数组的长度减少了,所以size--,长度减一,即为目前数组的长度。然后将原数组中的所有变量传入到新数组中,然后将新数组的对象变量名中存储的新数组的内存地址赋值给旧数组名,最后再更新一下数组的长度,这样,我们数组的扩容就完成了。数组中存储的元素都是数据元素。

2023-10-15 19:44:39 120

原创 Java基础——面向对象

自己创建一个复合数据类型类名{ }————Java程序中的基本单位是类————定义的类 不一定都具有属性和方法的类,也可以是一些功能类内容: 学生类姓名 年龄 学号上课 考试 学习 查看信息。

2023-10-02 14:43:15 71 1

空空如也

空空如也

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

TA关注的人

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