自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SPI机制

3.加载方法 反射--读取指定源url--便利url--建立文件读取--每行读取--判断是否是同类型--是则实例化放入list中,否则直接下一行。2.内部方法(实现初始化)---class(传入)--classloader(当前线程的加载器)--调用加载方法。spi:提供服务方法发现:类似与ioc控制反转和依赖注入。1.提供外部调用(获得一个服务加载对象)list (存储类似的实现接口的方法)classloader(类加载器)4.提供实现接口的对象--list。3.懒加载--扫到哪里放到哪里。

2023-11-17 11:04:15 65 1

原创 《算法通关村——透彻理解二分查找》

/ 由于array[mid]不是目标值,因此再次递归搜索时,可以将其排除。// 由于array[mid]不是目标值,因此再次递归搜索时,可以将其排除。// 由于array[mid]不是目标值,因此再次递归搜索时,可以将其排除。// 由于array[mid]不是目标值,因此再次递归搜索时,可以将其排除。// 返回目标值的位置,从1开始。mid=low+(high-low)>>1(错误)因为符号的优先级问题。就先用二分匹配到的,再用线性继续匹配出第一出线的(或者重复过多用递归)2.使用二分查找(排序)

2023-09-11 22:44:58 115

原创 《算法通关村—轻松搞定双指针与路径问题》

/走到这一步说明节点p和q是完全相同的,接下来需要再判断其左左和右右是否满足要求了。//如果一个为空,一个不为空,很明显不可能是相同的树,直接返回false即可。可以根据上一道题获得总其路径,让路径上的值相加,或则直接将总的值不断向减,减到最后面相等。//如果对应位置的两个结点的值不相等,自然也不是同一个棵树。为空则返回另一个,都不为空则创建一个新的结点,孩子结点不断的遍历之前结点。条件为:1.两个为空,2.一个为空,一个不为空 3.值不相同。条件:1.两个为空,2.一个为空,一个不为空 3.值不相同。

2023-08-29 16:47:23 103 1

原创 《算法通关村—二叉树原来如此简单》

就是指广度优先算法:将每一层遍历出来。

2023-08-27 21:25:37 71

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

基本概念:树的度(最大节点的度),节点的度(子节点个数),父亲,孩子,祖先节点(所有的祖先),有序还是无序树,二叉树。存储方式:类似与链表,指针,数字,不同的是因为二叉树有两个节点,因此要有两个指针。满二叉树(全部都是满),完全二叉树(可能不满,但一定按照顺序依次排开)可以用数组存储,单不推荐,因为如果二叉树不平衡,会浪费空间。性质:节点的深度个数,叶节点与度为2关系,每层个数,深度。第一个括号都是为左节点,第二个括号为右节点。前序:2 [3 4 5 6 8 7 ]中序:[3 4 8 6 7 5 ] 2。

2023-08-25 10:09:43 94 1

原创 《算法通关村—队栈问题解析》

核心思想,将使用两个队列实现,入栈很有考虑 一个栈辅助queue2,另个栈存储queue1​​//添加到queue2中while (!//将queue1中的值放入到queue2中//转换位置(右边只是存储一个元素)防止不知该真么取值,直接固定住​​​​用两个栈实现队列:一个入栈,一个出栈}//两个栈一起出in2out();in2out();while (!

2023-08-24 20:31:54 43 1

原创 《算法通关村—hash与队列问题解析》

通过hash相关的hashmap来了解hash。hash冲突处理:链表,多数添加。

2023-08-24 10:09:40 72 1

原创 算法通关村—栈问题解析

/如果栈内没有元素,则无法匹配。//找到是否符合的元素。栈只能获取栈顶元素,那么只要保持每次栈顶元素为最小值就可以了。通过栈的先进后出的特性,可用来作为数字匹配作用,回文作用。//开始匹配右侧符号。每次入栈都与栈内元素比较即可,取最小值。//来处理其刚开始入栈值。思想:能够最简单的找出栈内的最小值。//类似一个注册中心。

2023-08-23 14:09:25 65 1

原创 《算法通关村—如何基于数组(或者链表)实现栈》

throw new NullPointerException("参数不能为空");System.out.println("栈顶元素为:" + stack.peek());栈也是一种线性表,栈底层实现仍然是链表或者顺序表,对数据的处理是队列中的一端。思路:确定一个栈顶(是直接取空值还是直接取顶部元素),数组,扩容,方法。//初始容量为10(类似与一个arrylist)栈的方法:取头结点,入栈,出栈,判断是否为空。//构造函数初始化头指针。

2023-08-23 13:59:08 28 1

原创 《算法通关村——双指针的妙用》

优化:不管后面什么元素,直接覆盖,再来检查是否符合要求,这样减少一次判断,并且更加自动,类似与快排思想。//这里head先走一遍,统计出链表的元素个数,完成之后head就变成null了。双指针:解决大量元素的移动,直接将关键的元素移动,慢则是当前的元素,快则是检测前面的元素。//例如,如果len=5,那么k=2和7,效果是一样的。//如果是偶数,则取模为0,否则肯定比0大的数。//这里使用取模,是为了防止k大于len的情况。// 快指针走了k步了,然后快慢指针一起向后执行。//偶数往前,保留奇数。

2023-08-23 13:57:37 36 1

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

如:{1,2,3,4,5,6,7,8,0,0}删除4为{1,2,3,5,6,7,8,8,0,0},最后一个8无法访问。//元素后移,问题④想想这里为什么不是size-1---从前面往后移动,最后面大小一定是size。//问题②想想这里是否是index=0或者size-1?//问题①:是否应该是size>arr.length---否则无法添加元素了。4.删除数组元素时候,全部往前移,虽然说无法访问到数组长度大小(原来的最后一个元素)//找到新元素的插入位置,问题③ 这里是否应该是size-1?

2023-08-14 11:46:13 34

原创 《算法通关村第二关——链表反转问题解析》

回顾一下上一节的链表反转1.虚拟结点反转法2.直接反转法。

2023-08-12 15:51:49 73 1

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

反转链表是必考题,必须要背下来。对指针的进一步的深入了解。

2023-08-06 09:13:36 37 1

原创 《算法通关村第一关——链表经典问题笔记》

链表的常见的增删改查问题---注意指针位置。

2023-07-23 16:49:27 105 1

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

就是一个一链状的数据结构存储的表,他和数组是同为基本的数据结构,是所有算法的基本结构。

2023-07-18 16:24:53 281 2

空空如也

空空如也

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

TA关注的人

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