- 博客(27)
- 收藏
- 关注
原创 MySQL事务:ACID特性的实现原理
原子性是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行的语句也必须回滚,数据库退回到事务前的状态。持久性是指事务一旦提交,它对数据库的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。与原子性、持久性侧重于研究事务本身不同,隔离性研究的是不同事务之间的相互影响。隔离性是指,事务内部的操作与其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
2024-12-19 11:46:37
1031
原创 【Intellij IDEA2023 2024】标签多行展示 全部展示
Settings”->“Editor”->“General”->“Editor Tabs” 勾选 Multiple rows。
2024-12-17 10:30:07
776
原创 动态规划-打家劫舍系列
空间优化:因为只需要到前面第一家的最大金额,和到前面第二家的最大金额,所以只用a,b,c三个变量分别表示以上两个变量和到当前家最大金额。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,2)不偷当前节点的情况下,res=max(偷左节点的最大值,不偷左节点的最大值)+max(偷右节点的最大值,不偷右节点的最大值)你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。1)偷当前节点的情况下,res=root.val+不偷左节点的最大值+不偷右节点的最大值。
2024-07-21 17:47:12
530
原创 KMP算法【原理&代码实现】
判断str1是否包含连续子序列str2,如果包含返回str2在str1中开始的位置。并且做到时间复杂度O(n)如果纯遍历且每次遍历到最后一个字符才不相等,最差时间复杂度为O(m*n)
2024-07-11 15:06:18
448
原创 一致性哈希算法【场景、解决问题及改进】
面试问:一致性哈希是什么,使用场景,解决了什么问题?一致性哈希(Consistent Hashing)是一种特殊的哈希算法,广泛用于分布式系统中,以解决数据分布和节点动态变化的问题。其核心思想是将数据和节点都映射到同一个哈希环上,从而实现数据的平衡分布和高效查找。
2024-07-11 13:52:24
1311
原创 设计RandomPool结构【代码实现】
使用key-index和index-key两张哈希表,需要indexKey表来根据random函数得出的位置随机删除key,需要keyIndex来 获取删除的key的位置,并且把最后一个位置的元素填充到这个位置。**【题目】**设计一种结构,在该结构中有如下三个功能:insert(key):将某个key加入到该结构,做到不重复加入。delete(key):将原本在结构中的某个key移除。getRandom():等概率随机返回结构中的任何一个key。返回结构中的任何一个key。本题不需要定制哈希表。
2024-07-11 13:04:47
370
原创 并查集【原理&代码实现】
并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。优化:在查找一个节点的根节点的时候,将经过的每个节点都和根节点。,这样可以减少查询的时间复杂度。
2024-07-10 18:40:07
212
原创 刷题笔记【二叉树其他问题篇】
给定一棵二叉搜索树和其中的一个节点p,找到该节点在树中的中序后继。如果节点没有中序后继,请返回null。二叉搜索树中,节点p的后继是值比p.val大的节点中键值最小的节点。
2024-07-06 16:13:17
397
原创 刷题笔记【二叉树类型判断篇】
先判断左子树是否为二叉搜索树,再判断head.val>preValue,最后返回右子树是否为BST犯的错误:把preValue的定义写到方法体内了,这样并没有存储上一个头结点的值。遍历中序列表,判断是否都是递增。
2024-07-06 16:11:41
434
原创 刷题笔记【二叉树遍历篇】
压头节点弹出并打印,接着如果右节点存在先push右节点,如果左节点存在再push左节点。沿着左侧一直往下,没有左节点之后,弹出并输出,push右节点。->recursion(1.right)【null 返回】->->recursion(3.right)【null 返回】->->recursion(1.left)【null 返回】->->recursion(3.left)【null 返回】->在先序的基础上,换成【根右左】,再逆序打印,得出后序遍历。按照如下函数,遍历完每个节点都会经过三次。
2024-07-05 14:32:06
284
原创 刷题笔记【链表篇】
给你单链表的头节点head,请你反转链表,并返回反转后的链表。维护当前节点cur,前一个节点pre,下一个节点nextNode。每次执行一步有cur.next=pre,并把cur、pre、next都往后移。每一次循环最后一步都是更新cur的位置,cur=nextNode,最后cur==null,因此判断返回的时候,需要返回pre,而不是cur。
2024-07-05 11:41:14
1290
原创 Java中的引用类型以及ThreadLocal
JVM只占了操作系统中的一部分内存,当我们从网络中读数据时,操作系统首先读到操作系统内存中,然后再拷贝到JVM内存中,这样效率特别低,因此JVM提供了一种直接内存的方法,直接去访问操作系统的内存,但是不是JVM自己管理的内存,JVM是不知道也没有办法进行垃圾回收的。ThreadLocal类中有一个静态类ThreadLocalMap,ThreadLocalMap中的Entry继承了弱引用,Entry中的key为虚引用指向当前ThreadLocal变量,value为我们set的值。
2024-06-26 15:36:58
764
1
原创 【快速理解AdaGrad】AdaGrad梯度下降算法
如果一个参数的梯度一直都非常大,那么其对应的学习率就变小一点,防止震荡,而一个参数的梯度一直都非常小,那么这个参数的学习率就变大一点,使得其能够更快地更新。ϵ是为了数值稳定性而加上的,因为有可能 s 的值为 0,那么 0 出现在分母就会出现无穷大的情况,通常 ϵ 取 10的负10次方。这样不同的参数由于梯度不同,他们对应的 s 大小也就不同,所以上面的公式得到的学习率也就不同,这也就实现了自适应的学习率。,这就可以促使神经网络的训练速度的加快。使用自适应的学习率就可以帮助算法在。
2024-04-16 10:48:20
626
原创 消融实验是什么?
在一个实验中,涉及到a,b,c三个改进模块,不知道哪个模块对实验起啥效果,如果想知道a模块对整个实验的作用,去掉a模块,进行对比,以此求知。,大家在做实验的时候一定要牢牢把握住这个思想!实验部分最核心的就是。
2024-03-19 10:24:31
884
原创 【异常】JDK21报错NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member fie
【异常】JDK21报错NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member fie。Maven依赖更新新版 lombok 为 1.18.30 即可。如果更新完依然报错,可以尝试clean清理缓存。lombok版本兼容性的问题。重新加载maven依赖。
2024-03-05 19:22:07
345
原创 【Intellij IDEA2023】将IDEA项目文件各级目录完全展示
取消选中Tree Appearance中的Compact Midlle Packages即可。
2024-02-28 09:34:59
1394
原创 解决python安装pycocotools等包需要Microsoft C++ Build Tools问题
python在安装一些需要从C源码编译的包的时候会报错说你没有 Microsoft Visual C++ 14.0或者更高版本。例如:pycocotools等等如果不想安装庞大的VS,可以选择只安装编译器组件。
2023-11-14 00:09:48
824
1
原创 MySQL插入中文字符
这时我们需要在建表的时候将表格的字符编码集改为UTF-8,只需在创建表格的语句最后加上更改字符编码集的语句:ENGINE=InnoDB DEFAULT CHARSET=utf8即可。创建student表。
2023-07-25 17:54:26
841
原创 Ubuntu20.04磁盘扩容
扩展完成后,需要进入虚拟机,将未分配的空间分配给分区。点击查看挂载路径,修改权限为可写,在终端运行。调整/dev/sda3的大小,发现无法修改。安装完成后,执行命令打开gparted。安装分区管理工具gparted。关闭虚拟机,打开虚拟机设置。接下来就可以调整分区大小了。gaprted中刷新设备。当前已使用82%的空间。
2023-07-21 10:55:05
1103
1
原创 8、图像金字塔
图像金字塔是图像多尺度表达中的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效结构。简单来说,图像金字塔是**同一图像不同分辨率的子图集合。**图像金字塔最初用于机器视觉和图像压缩。通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,顶部是低分辨率的近似。层级越高,图像越小,分辨率越低。常见的两类图像金字塔。
2023-06-23 15:44:31
164
原创 大数取模
就是很普通的除法就能写了 超酷!#include <stdio.h>#include <string.h>typedef long long ll;int main(){ char num[100005]; int i, j, x; while(~scanf("%s %d", num,&x)){ ll ans=0; ...
2020-04-30 11:45:29
399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人