自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux-CentOS Firewall操作

Linux(Centos)防火墙操作

2025-02-21 12:38:30 353

原创 若依前后端分离版 集成 腾讯云 COS

若依分离版 添加腾讯COS的方法

2024-04-29 14:51:16 1153 1

原创 记录一下SpringBoot电子邮件发送这件事

SpringBoot Email 踩过的坑

2024-03-03 16:43:16 534 1

原创 关于MyBatisPlus分页模糊查询时去除字段空格这件事

实现去除字段空格后的分页查询

2024-03-03 11:22:32 1188

原创 阿里云MySQL从 2003->1251->1396

阿里云部署数据库的错误,从2003——>1251——>1396问题的解决方案

2023-12-02 15:53:37 293

原创 Docker中部署并启动RabbitMQ

Docker 部署RabbitMQ的命令

2023-12-02 13:19:55 1558

原创 SpringBoot出现Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded ...

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver class

2023-12-02 12:27:15 119

原创 SpringBoot+JWT实现拦截器的实现方式

由于是第一次接触拦截器,所以对拦截器中的配置也不是很懂,导致在这个过程中踩了很多坑,最让我印象深刻的是,在配置拦截器的时候,由于我在项目中使用到了请求前缀,而我的拦截器又是从其他博主的博客中直接拿来用的,导致只要我一打开@Configuration,就会报404错误(尽管放行了登录请求),其原因是在添加拦截请求时,使用的是,其会让我的请求前缀也会纳入进去,导致一进入登录请求,就会被拦截到,导致请求误拦截。

2023-09-27 13:23:17 568

原创 算法通关村——二分查找在寻找数组峰顶中的应用

最高点如果存在,需要满足arr[i - 1] < arr[i] > arr[i + 1]。mid 在递减阶段的时候,满足条件:arr[mid] < arr[mid -1] && arr[mid] > arr[mid +1]mid在顶峰的时候,满足的条件是:arr[mid] > arr[mid -1] && arr[mid] > arr[mid +1]mid在递增阶段的时候,满足条件:arr[mid] > arr[mid -1]&&arr[mid] < arr[mid +1]

2023-08-11 08:33:49 413

原创 算法通关村——彻底理解二分查找

对于整数溢出的问题,其实就是在二进制中,原本作为正负标志的符号位由0(正数)变为了1(复数),此时我们进行右移操作,就会将符号位给空出来,自动补0上去,也就解决了溢出问题。同时,在正数的计算中,右移一位 (>>1)和 /2 的效果是一样的,所以可以使用移位的方式解决溢出问题,即 (high + low)>>1。字面上的解释是“分而治之”就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题......直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

2023-08-10 12:37:21 189

原创 算法通关村——轻松搞定最大深度问题

二叉树的深度:从根节点到当前节点的最长简单路径边的条数。

2023-08-10 09:37:11 196

原创 算法通关村——轻松搞定两树相等问题

判断两棵树是否相同

2023-08-09 10:32:14 256

原创 算法通关村——迭代实现二叉树的前中后序遍历

递归就是每次执行方法调用都会先把当前的局部变量、参数值和返回地址等压入栈中,后面在递归返回的时候,从栈顶弹出上一层的各项参数继续执行,这就是递归为什么能够自动返回并执行上一层的方法的原因。因此,我们也可以模拟一个栈,将结果压入栈中,然后再从栈中弹出节点,就这样进行左右子树的遍历。

2023-08-08 12:55:18 284

原创 递归在树的深度遍历中的运用

对于树这种数据结构,之前一直使用的是层次遍历,也就是;对于树的遍历,还可以进行。而结合递归,树的深度优先搜索便能够很容易让人记住,面试官往往不会考简单的使用递归实现树的深度遍历,因此,除了使用递归方法外,非递归方式实现树的遍历也需要掌握(下期讲解)。

2023-08-08 12:36:46 170

原创 理解递归方法

递归的两大步骤:递归到的终止条件递归公式的寻找

2023-08-08 12:03:33 138

原创 算法通关村——原来如此简单

给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧 所能看到的节点值。将当前层的最后一个节点放入集合中(从右侧看到的节点值就是每一层的最后一个节点值)

2023-08-07 12:25:25 116

原创 二叉树的构建(java基于数组)

二叉树在算法中是经常考察的点,但是要在本地测试的话,就必须自己构建二叉树。在算法题中,一般给我们的都是一个数组,或者是二叉树的形状。因此,需要将数组转换为二叉树,这样才能测试出自己的代码是否符合题意。

2023-08-07 11:58:26 970 3

原创 树的层次遍历

广度优先在面试里出现的频率非常高,整体属于简单题。而广度优先遍历又叫做层次遍历,基本过程如下:层次遍历就是从根节点开始,先访问根节点下面一层全部元素,再访问之后的层次,类似金字塔一样,逐层访问。我们可以看到上面例子就是从左到右一层一层遍历二叉树,先访问3,之后访问1的左右孩子9和10,之后分别访问9和20的左右孩子[4,5]和[6,7] ,最后得到结果[3,9,20,8,13,15,7]这里需要关注的问题是:将遍历过的元素的左右孩子保存起来。

2023-08-05 13:15:38 574

原创 算法通关村——如何使用中序和后序来恢复一棵二叉树

前中序恢复二叉树和中后序恢复二叉树

2023-08-04 11:01:39 247

原创 理解树的结构

树是一个有n个有限节点组成的一个具有层次关系的集合。每个节点有0个或多个子节点,没有父节点的节点称为根节点(一棵树有且只有一个)。树的种类比较多,最常见的就是二叉树了。int val;解释:这里本质上就两个引用,分别指向两个位置,为了便于理解,分别命名为左、右孩子int val;

2023-08-04 09:31:03 120

原创 算法通过村——Hash和队列问题解析

Hash,不管是算法,还是在工程中都会大量使用。很多复杂的算法问题都用Hash能够轻松解决,也正是如此,在算法例就显得没什么思维含量,所以Hash是应用里的扛把子,但在算法里就是备胎的角色,只要有其他方式,一般就不会考虑队列了。这也是面试算法和应用算法的一个区别。

2023-08-03 10:00:32 399

原创 算法通关村——括号匹配问题的解析

栈的典型题目还是非常明显的:括号匹配、表达式计算等几乎都少不了栈。

2023-08-03 08:36:27 312

原创 算法通关村第四关——如何基于数组(链表)实现栈

栈的基础和自定义栈

2023-08-02 12:19:10 245

原创 算法通关村第三关——双指针的妙用

所谓的双指针其实就是两个变量。双指针思想简单好用,在处理数组、字符串等场景下很常见。看个例子,从下面序列中删除重复元素[1,2,2,2,3,3,3,5,5,7,8],重复元素只保留一个。删除之后的结果应该为[1,2,3,5,7,8]。我们可以在删除第一个2时将将其后面的元素整体向前移动一次,删除第二个2时再将其后的元素整体向前移动一次,处理后面的3和5都一样的情况,这就导致我们需要执行5次大量移动才能完成,效率太低。如果使用双指针可以方便的解决这个问题,如图:首先,定义两个指针slow、fast。

2023-08-01 09:45:50 138

原创 算法通关村第三关——不简单的数组增删改查

爱不起的数组

2023-07-31 12:53:19 238

原创 算法通关村第二关——链表加法的问题解析

两者的区别是尾插法的顺序与原始链表是一致的,而头插法与原始链表是逆序的,所以上面最后步如果不想进行反转,可以将新结点以头插法。先将两个链表的元素分别压栈,然后再一起出栈,将两个结果分别计算。之后对计算的结果取模,模数保存到新的链表中,进位保存到下一轮,完成之后再进行一次反转就行了。* 给你两个非空链表来表示两个非负整数,数字最高位位于链表的开始位置。输入:6 --> 1 -->7 和 2 --> 9 -->5。先将两个链表分别反转,最后计算完之后再将结果反转,一共有三次反转操作。

2023-07-29 09:58:30 167

原创 算法通关村第二关——单链表加1的问题解析

链表加1

2023-07-29 09:47:26 415

原创 算法通关村第二关——两两交换链表中的节点的问题解析

链表节点两两交换位置

2023-07-29 09:19:28 391

原创 多线程总结

多线程总结

2023-07-28 14:59:16 90

原创 算法通关村第二关——指定区间反转的问题解析

头插法实现链表区间反转

2023-07-28 10:34:55 234

原创 算法通关村第二关——我终于学会链表反转了

链表反转方式

2023-07-28 07:59:43 75

原创 Synchronized实现同步代码块的细节

"synchronized"同步代码块实现的细节

2023-07-27 15:54:47 493

原创 算法通关村第一关——链表经典问题之判断是否有环

判断是否有环,最容易的是使用哈希,遍历的时候将元素放入到set(或者map)中,如果有环,就一定会发生哈希碰撞,这个碰撞的位置就是环入口的位置。* 输入:head=[3,2,0,-4] pos=1。* 解释:链表中有一个环,其尾部连接到第二个节点。给定一个链表,判断链表中是否有环。

2023-07-27 10:33:57 167

原创 算法通关村第一关——链表经典问题之删除链表元素专题笔记

删除链表节点专题

2023-07-27 10:16:30 394

原创 算法通关村第一关——链表经典问题之双指针专题笔记

双指针专题

2023-07-26 12:30:09 126

原创 算法通关村第一关——链表经典问题之合并有序链表

链表经典问题之合并两个有序链表

2023-07-26 09:48:50 204

原创 算法通关村第一关——链表经典问题之回文序列笔记

判断链表是否是回文序列

2023-07-26 09:05:15 211

原创 算法通关村第一关——链表经典问题之两个链表第一个公共子节点笔记

寻找两个链表第一个公共子节点

2023-07-17 13:43:15 230

原创 算法通过村第一关——链表青铜挑战笔记

在Java中,单链表是由一个个Node节点连接起来的。Node节点是一个类,类中存放了数据属性(data)和下一个节点属性(Node),通常还会有对这两个属性的初始化的构造方法(主要是针对数据属性的初始化),当然,为了保证数据的安全性,会采用面向对象的封装性对属性使用private权限修饰,对外提供公有的get和set方法对这两个属性进行访问(如果只是测试,不考虑安全性的话,也可以将这两个属性设置为公有的,在外部直接对属性进行操作)。当遍历完所有元素后,所有的节点便形成了一个单链表。以下是节点的代码构造。

2023-07-16 17:08:12 558 3

原创 IP地址和整数之间的转换

IP地址和整数间的转换

2023-06-30 10:29:56 5320

JavaSE使用数组模拟商城项目

此项目的模块:账户管理模块、商品管理模块、库存管理模块、商品购买模块、订单统计模块、购物车模块。 账户管理模块:1.账户一览 2.账户查询 3.账户删除 4.账户修改 商品管理模块:1.商品一览 2.商品查询 3.商品删除 4.商品修改5.新建商品 库存管理模块,1.库存信息一览 2.查找库存信息 3.添加库存 4.修改库存信息 商品购买模块:1. 直接购买 2. 加入购物车 订单统计模块,1.订单信息一览 2.查找订单商品信息 3.查询买家的购买的商品 购物车模块:1.购物车一览 2.购物车添加 此项目只涉及JavaSE部分,涉及到的只是Java数组、接口等知识,不涉及集合(但是后续会更新),不涉及数据库,不涉及数据库,不涉及数据库

2023-01-31

JavaSE模拟商城项目

登录 注册 账户管理 商品管理 商品购买

2023-01-12

空空如也

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

TA关注的人

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