自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【电商支付自用】支付功能简介+入门

支付理论部分>实践。

2024-05-19 15:19:06 312

原创 【Redis】Redis数据类型

有效的字符串类型不仅可以是字符,还可以是数字,以上都是有效的字符串类型。String最大容量为512mb, 建议单个kv不超过100kb。

2024-05-13 09:38:20 198

原创 【JVM】ASM开发

ASM是一个Java字节码操纵框架,它能被用来或者。ASM可以直接产生二进制class文件,也可以在类被加载入虚拟机之前动态改变类行为,ASM从类文件中读入信息后能够改变类行为,分析类信息,甚至能根据要求生成新类。目前许多框架如cglib、Hibernate、Spring都直接或间接地使用ASM操作字节码。

2024-05-11 16:35:22 387

原创 【JVM】阅读Class字节码:常量池

下图是反编译过后的字节码文件中我们找到的常量池的部分。可见常量池数量是从1到52,共52个常量,了解了常量池的数量,接下去我们看整个常量池的内容怎么读,即下图红线部分。

2024-05-11 11:44:38 516

原创 【JVM】Class文件的格式

Class文件是JVM的,Java虚拟机规范中定义了Class文件的结构。Class文件是JVM实现平台无关、技术无关的基础。1:Class文件是一组以8字节为单位的字节流,各个数据项目按顺序紧凑排列2:对于占用空间大于8字节的数据项,按照高位在前的方式分割成多个8字节进行存储class文件就是这些十六进制的字节流。通过javap输出出来的字节码文件,是经过反编译之后适合人阅读的代码。3:Class文件格式里面只有两种类型:无符号数、表。

2024-05-11 10:46:33 379

原创 【JVM】了解JVM规范中的虚拟机结构

Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的(opcode)以及跟随其后的零至多个代表此操作所需参数的(operand)所构成。虚拟机中许多指令并不包含操作数,只有一个操作码。操作码一列中的T就跟泛型一样,虚拟机根据不同的数据类型会把T替换掉,提供不同的指令。

2024-05-10 22:00:18 413

原创 【JVM】JVM规范作用及其核心

字节码指令集(相当于中央处理器CPU)Class文件的格式数据类型和值运行时数据区栈帧特殊方法类库异常虚拟机的启动、加载、链接和初始化。

2024-05-10 13:34:23 221

原创 【JVM】从三种认知角度重识JVM

JVM:Java Virtual Machine,也就是Java虚拟机。虚拟机:通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统(物理上不存在)。JVM通过软件来模拟Java字节码的指令集,是Java程序的运行环境。

2024-05-10 12:41:49 437 1

原创 IoC与Spring

从0开始学Spring。

2024-04-14 16:12:34 792 3

原创 动态规划和字符串结合leetcode题集(java实现版)

拜托,这还拿不下字符串问题吗?

2024-01-28 09:35:54 626

原创 Java日期

4. of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond):根据指定的年、月、日、时、分、秒、纳秒创建一个新的LocalDateTime对象。3. of(int year, int month, int dayOfMonth, int hour, int minute, int second):根据指定的年、月、日、时、分、秒创建一个新的LocalDateTime对象。

2024-01-11 10:21:12 961

原创 循序渐进的6种版本的并查集(java实现版)

并查集并查集并查集很重要的哦~

2024-01-02 16:14:00 993

原创 字符串匹配的殿堂级算法:KMP算法详解(Java实现版)

KMP算法真的还挺难的。

2023-12-28 21:45:17 1218

原创 线段树/区间树(java实现版详解附leetcode例题)

你还不太会线段树吗?看了这篇就会了。

2023-12-23 21:49:20 1510

原创 基于比较的排序算法总结(java实现版)

来看看各种排序算法的稳定性的具体分析吧。

2023-12-21 22:31:00 945

原创 蓝桥杯真题——01背包问题(java详解)

你是不是还不太会01背包问题?跟着国赛真题来学学吧。

2023-12-15 16:46:16 1176

原创 DFS、BFS求解leetcode岛屿的周长问题(Java)

每日一题

2023-12-10 21:56:06 823

原创 DFS、BFS求解leetcode图像渲染问题(Java)

每日一题

2023-12-10 18:25:01 968

原创 模式串匹配和字符串哈希

字符串匹配问题,暴力法或者和哈希表结合方法,拓展思维必看。

2023-12-08 00:14:55 986

原创 二分搜索树的删除问题(java详解)

58被删除后寻找58的后继节点替代它,就是58的右子树中的最小值,即59。4)删除左右孩子都有的结点:找d的后继/d的前驱,我们以d的后继为例子。1)删除只有左孩子的结点:以左孩子为根节点的子树替代被删除的节点位置。2)删除只有右孩子的节点:以右孩子为根节点的子树替代被删除的节点位置。最小值:从根节点开始一直向左走直到走不动。最大值:从根节点开始一直向右走直到走不动。3)删除叶子节点:直接删除。

2023-12-06 13:52:33 380

原创 哈希表及其基础(java详解)

这么详细你还拿不下哈希表?我不信。

2023-12-06 11:17:43 2067

原创 PTA校赛算法题十道java、C++详解

这篇文章是基于我们前不久的校赛写的,校赛给的题解都是C++,我很想写一份完整的java版本,但是能力不够,大家可以看看逻辑,感兴趣的朋友可以写一份java题解在评论区,我替你交一下再来回复你你是不是满分通过了的具体情况。很希望有喜欢刷题的小伙伴和我交流Java版的题解。在我学成归来后,我会把这篇文章出一份完全的java题解。

2023-12-03 11:28:44 1388

原创 优先队列经典例题leetcode思路代码详解

对优先队列感兴趣的朋友可以去看我上一篇文章。

2023-11-30 11:16:03 602

原创 优先队列基础讲解

优先队列的底层实现是堆。所以你每次queue.poll取出来的都是最值(大根堆取出来的是最大值,小根堆取出来的是最小值)。

2023-11-30 09:15:43 399

原创 有权图的最短路径算法

我们可以用优先队列获得v这个顶点对应的dis值,不再是v这个顶点序号的最小值了。我们的优先队列取出来的是顶点的序号,但比较起来是比较的dis值。松弛操作有方向性,相当于拐个弯到达某个端点是不是比直接到达某个端点更近。此算法在有向图无向图也成立。我们的起始点是固定点,从起始点出发到达其他各顶点的最短路径。,由于大量的应用不依赖负权边,所以这个算法有非常广泛的应用。可以包含负权边,也可以包含负权环。

2023-11-28 20:07:03 745

原创 动态规划算法详解进阶篇

当我们画一个跳楼梯的数组时我们会发现,dp[i]的值只跟dp[i - 1]和dp[i - 2]的值有关,所以我们可以用a,b,c三个变量动态保存dp[i - 1]和dp[i - 2]的值。由dp[i][j] = dp[i-1][j] + dp[i][j-1]画一个二维数组可知,我们计算第i行时只用到了i - 1这一行的数据,所以我们只需要动态利用i - 1这一行的数据就可以了。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。网格的左上角 (起始点在下图中标记为 “Start” )。

2023-11-27 20:53:05 979

原创 动态规划经典例题leetcode思路代码详解

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。这一篇的例题解答是严格按照我上一篇写的动态规划三部曲做的,对动态规划不太了解或者比较感兴趣的朋友可以看我上一篇文章。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。个台阶向上爬需要支付的费用。,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

2023-11-25 17:58:14 1222

原创 动态规划算法详解基础篇

现在我们可以再返回去看斐波那契数列的动态规划版本的代码的注释,加深一下理解。我们要多刷题,通过套路刷,不理解为啥这样套没关系,先会用套路来做。用递归 -----> 优化成状态保存避免重复计算---->看一下能否变成自底向上。2、字符串问题:如果是两个字符串的则95%用动态规划,剩下的5%比较简单。来找出一些规律,进而更好的去规划一些东西,最后可以避免一些重复计算。1、动态规划一般是最优解,并且关注的是时间上的最优解。开始,后面的每一项数字都是前面两项数字的和。1、求最值问题:最大值、最小值。

2023-11-25 11:48:23 460

原创 经典的回溯算法题leetcode棋盘问题思路代码详解

对回溯算法感兴趣的朋友也可以多多支持一下我的其他文章。

2023-11-24 16:33:01 767

原创 经典的回溯算法题leetcode全排列问题思路代码详解

对回溯算法感兴趣的朋友也可以多多支持一下我的其他文章。

2023-11-24 15:32:19 565

原创 经典的回溯算法题leetcode子集问题思路代码详解

如果各位对回溯不太了解可以看我昨天写的文章,以及上一篇着重整列了回溯经典的组合问题。

2023-11-24 14:35:52 421

原创 经典的回溯算法题leetcode组合问题整理及思路代码详解

倘若各位不太清楚回溯算法可以去看我上一篇文章。

2023-11-23 21:39:44 1299

原创 回溯算法详解

回溯:你处理了之后,再进行”撤销“处理,”撤销“这个动作就是回溯。

2023-11-22 22:07:40 550

原创 贪心算法及相关例题

贪心算法更多的是一种思想,没什么套路。

2023-11-22 13:40:56 1763

原创 位运算技巧及leetcode相关例题Java实现

这是快速幂算法来计算幂。它的基本思想是将指数n分解为若干个二进制位,然后根据每一位的值来决定是否将当前的底数m乘到结果中。具体来说,如果n的二进制表示的最后一位是1,则将m乘到结果中;然后将m平方,以便在下一次循环中进行计算。最后,通过不断地将n右移一位(即除以2),直到n变为0为止。最终返回的结果就是m的n次方。那么 m ^ 13 = m^1 * m^4 * m^8 = m ^ 1 * m^100 * m^1000。假设n = 13 = 1101 = 1 + 4 + 8。1)两个数相同,异或的结果为0。

2023-11-21 17:13:53 194

原创 最小生成树

边上的权是附加的额外信息,可以代表不同公路的收费等你需要的信息。最小生成树Kruskal算法同一张图的不同生成树的权值和大小不同,最小生成树就是求权值和最小的生成树。在选最短的边的同时要注意不要和已选的边形成环。如下图,我们成功选了六条边连接了七个顶点,形成了最小生成树。

2023-11-16 12:00:20 159

原创 欧拉回路和欧拉路径

欧拉回路遍历了所有的边,也就意味着遍历了所有的点,但这并不能代表有欧拉回路的地方都有哈密尔顿回路的,如下图的例子。欧拉路径的起始点不能随便选了,只能选取度数是奇数的点。感兴趣的朋友可以自己试着实现欧拉路径的代码实现。

2023-11-14 21:49:48 103

原创 桥和割点,以及图的遍历树

孩子的数量是根据树来说的,而不是看根节点有多少个邻边,遍历树不同孩子数量也不同。

2023-11-03 23:00:44 259

原创 图论问题建模和floodfill算法

floodfill算法是一种图像处理算法,用于填充连通区域。该算法从一个起始点开始,将所有与该点相邻且颜色相同的像素点都标记为同一区域,并继续递归处理该区域的相邻像素点,直到所有相邻像素点都被标记为该区域。该算法通常用于图像处理、计算机图形学等领域中的填充操作,例如对图像中的某个区域进行颜色填充、图形的边界检测等。

2023-11-02 21:42:10 885

原创 比较BFS和DFS

x可以是栈可以是队列,也可以是随机队列、随机容器,一样可以把整张图遍历出来。dfs是栈的递归,bfs是队列的入出。

2023-11-01 15:00:40 96

空空如也

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

TA关注的人

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