自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划-打家劫舍系列

空间优化:因为只需要到前面第一家的最大金额,和到前面第二家的最大金额,所以只用a,b,c三个变量分别表示以上两个变量和到当前家最大金额。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,2)不偷当前节点的情况下,res=max(偷左节点的最大值,不偷左节点的最大值)+max(偷右节点的最大值,不偷右节点的最大值)你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。1)偷当前节点的情况下,res=root.val+不偷左节点的最大值+不偷右节点的最大值。

2024-07-21 17:47:12 407

原创 KMP算法【原理&代码实现】

判断str1是否包含连续子序列str2,如果包含返回str2在str1中开始的位置。并且做到时间复杂度O(n)如果纯遍历且每次遍历到最后一个字符才不相等,最差时间复杂度为O(m*n)

2024-07-11 15:06:18 396

原创 一致性哈希算法【场景、解决问题及改进】

面试问:一致性哈希是什么,使用场景,解决了什么问题?一致性哈希(Consistent Hashing)是一种特殊的哈希算法,广泛用于分布式系统中,以解决数据分布和节点动态变化的问题。其核心思想是将数据和节点都映射到同一个哈希环上,从而实现数据的平衡分布和高效查找。

2024-07-11 13:52:24 1027

原创 设计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 336

原创 并查集【原理&代码实现】

并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。优化:在查找一个节点的根节点的时候,将经过的每个节点都和根节点。,这样可以减少查询的时间复杂度。

2024-07-10 18:40:07 190

原创 刷题笔记【二叉树其他问题篇】

给定一棵二叉搜索树和其中的一个节点p,找到该节点在树中的中序后继。如果节点没有中序后继,请返回null。二叉搜索树中,节点p的后继是值比p.val大的节点中键值最小的节点。

2024-07-06 16:13:17 370

原创 刷题笔记【二叉树类型判断篇】

先判断左子树是否为二叉搜索树,再判断head.val>preValue,最后返回右子树是否为BST犯的错误:把preValue的定义写到方法体内了,这样并没有存储上一个头结点的值。遍历中序列表,判断是否都是递增。

2024-07-06 16:11:41 412

原创 刷题笔记【二叉树遍历篇】

压头节点弹出并打印,接着如果右节点存在先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 257

原创 刷题笔记【链表篇】

给你单链表的头节点head,请你反转链表,并返回反转后的链表。维护当前节点cur,前一个节点pre,下一个节点nextNode。每次执行一步有cur.next=pre,并把cur、pre、next都往后移。每一次循环最后一步都是更新cur的位置,cur=nextNode,最后cur==null,因此判断返回的时候,需要返回pre,而不是cur。

2024-07-05 11:41:14 1188

原创 JUC并发编程经典面试题:一文帮助你弄懂『两个线程交替输出问题』

两个线程交替输出

2024-06-29 22:03:50 321

原创 Java中的引用类型以及ThreadLocal

JVM只占了操作系统中的一部分内存,当我们从网络中读数据时,操作系统首先读到操作系统内存中,然后再拷贝到JVM内存中,这样效率特别低,因此JVM提供了一种直接内存的方法,直接去访问操作系统的内存,但是不是JVM自己管理的内存,JVM是不知道也没有办法进行垃圾回收的。ThreadLocal类中有一个静态类ThreadLocalMap,ThreadLocalMap中的Entry继承了弱引用,Entry中的key为虚引用指向当前ThreadLocal变量,value为我们set的值。

2024-06-26 15:36:58 697

原创 【快速理解AdaGrad】AdaGrad梯度下降算法

如果一个参数的梯度一直都非常大,那么其对应的学习率就变小一点,防止震荡,而一个参数的梯度一直都非常小,那么这个参数的学习率就变大一点,使得其能够更快地更新。ϵ是为了数值稳定性而加上的,因为有可能 s 的值为 0,那么 0 出现在分母就会出现无穷大的情况,通常 ϵ 取 10的负10次方。这样不同的参数由于梯度不同,他们对应的 s 大小也就不同,所以上面的公式得到的学习率也就不同,这也就实现了自适应的学习率。,这就可以促使神经网络的训练速度的加快。使用自适应的学习率就可以帮助算法在。

2024-04-16 10:48:20 418

原创 如何查看Ubuntu的内核是AMD、ARM、x86、x86_64

注:x86_64,x64,AMD64是同一个东西。

2024-04-08 13:04:38 876 1

原创 消融实验是什么?

在一个实验中,涉及到a,b,c三个改进模块,不知道哪个模块对实验起啥效果,如果想知道a模块对整个实验的作用,去掉a模块,进行对比,以此求知。,大家在做实验的时候一定要牢牢把握住这个思想!实验部分最核心的就是。

2024-03-19 10:24:31 491

原创 最简单的ubuntu安装nvidia显卡驱动方法【附解决重启后黑屏问题】亲测有效!!!

在这一步选择你所需要的驱动,点击“应用更改”

2024-03-19 10:08:23 648

原创 Typora的大纲目录怎么设置折叠展开

选中 允许折叠和展开侧边栏的大纲视图。

2024-03-13 11:25:02 1260

原创 【异常】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 189

原创 【Intellij IDEA2023】批量修改变量名

IDEA提供了一个快捷键进行变量名的批量处理。选中修改对象:shift+F6。

2024-02-28 10:53:38 1336

原创 【Intellij IDEA2023】将IDEA项目文件各级目录完全展示

取消选中Tree Appearance中的Compact Midlle Packages即可。

2024-02-28 09:34:59 953

原创 解决python安装pycocotools等包需要Microsoft C++ Build Tools问题

python在安装一些需要从C源码编译的包的时候会报错说你没有 Microsoft Visual C++ 14.0或者更高版本。例如:pycocotools等等如果不想安装庞大的VS,可以选择只安装编译器组件。

2023-11-14 00:09:48 542

原创 MySQL插入中文字符

这时我们需要在建表的时候将表格的字符编码集改为UTF-8,只需在创建表格的语句最后加上更改字符编码集的语句:ENGINE=InnoDB DEFAULT CHARSET=utf8即可。创建student表。

2023-07-25 17:54:26 734

原创 Ubuntu20.04磁盘扩容

扩展完成后,需要进入虚拟机,将未分配的空间分配给分区。点击查看挂载路径,修改权限为可写,在终端运行。调整/dev/sda3的大小,发现无法修改。安装完成后,执行命令打开gparted。安装分区管理工具gparted。关闭虚拟机,打开虚拟机设置。接下来就可以调整分区大小了。gaprted中刷新设备。当前已使用82%的空间。

2023-07-21 10:55:05 967 1

原创 8、图像金字塔

图像金字塔是图像多尺度表达中的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效结构。简单来说,图像金字塔是**同一图像不同分辨率的子图集合。**图像金字塔最初用于机器视觉和图像压缩。通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,顶部是低分辨率的近似。层级越高,图像越小,分辨率越低。常见的两类图像金字塔。

2023-06-23 15:44:31 153

原创 OpenCV中的createTrackbar()函数

【代码】OpenCV中的createTrackbar()函数。

2023-06-05 10:11:34 318 1

原创 大数取模

就是很普通的除法就能写了 超酷!#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 373

空空如也

空空如也

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

TA关注的人

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