- 博客(18)
- 问答 (1)
- 收藏
- 关注
原创 布隆过滤器
2. 得到值之后判断位数组中的每个元素是否都为1,如果值都为1, 那么说明这个值在布隆过滤器中;如果存在一个值不为1,说明该元素一定不存在。1.使用布隆过滤器中的哈希函数对元素值进行计算,得到哈希值(有几个哈希函数得到几个哈希值)布隆过滤器由一个很长的二进制向量和一组哈希函数组成。2.根据得到的哈希值,在位数组中把对应下标的值置为1。1.对给定元素再次进行相同的哈希计算。
2025-10-26 23:01:20
353
原创 @Component和@Bean的区别
对比维度@Component@Bean作用级别类级别方法级别灵活性低(固定实例化逻辑)高(完全自定义创建过程)依赖配置依赖组件扫描依赖配置类典型使用场景自定义业务组件第三方组件集成、复杂配置。
2025-09-23 19:27:13
289
转载 Leetcode113. 路径之和并求出路径
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。递归函数什么时候需要返回值?什么时候不需要返回值?
2025-08-17 07:28:32
23
原创 LeetCode104.求二叉树的最大深度
不过这道题也可以用后序遍历,因为代码的逻辑其实是求的根节点的高度,而根节点的高度就是这棵树的最大深度,所以才可以使用后序遍历。求深度可以从上到下去查 所以需要前序遍历(中左右),而高度只能从下到上去查,所以只能后序遍历(左右中)。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。输入:root = [3,9,20,null,null,15,7]给定一个二叉树 root ,返回其最大深度。输入:root = [1,null,2]
2025-08-10 12:53:26
146
原创 Java中的LinkedList、Queue、ArrayList、Deque
特性ArrayListLinkedListQueue(接口)Deque(接口)底层结构动态数组双向链表-(由实现类决定)-(由实现类决定)支持索引访问✅✅(但慢)❌❌插入/删除快❌(慢)✅(快)✅✅支持栈操作❌✅❌✅支持队列操作❌✅✅✅线程安全❌❌❌(部分实现如是线程安全的)❌随机访问列表→ 用ArrayList频繁增删元素→ 用LinkedList先进先出队列→ 用Queue接口(推荐用LinkedList或ArrayDeque实现)
2025-07-09 10:10:13
337
转载 Leetcode 28. 实现 strStr()——KMP算法
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。KMP的经典思想就是:当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。在两个函数中不需要 j+1 ,直接next[ j ] 就可以得到下一次匹配的字符。1、从-1开始,也就是说匹配的字符串要从next数组值的下一个字符开始。2、从0开始,也就是说匹配的字符串要从next数组值的当前字符开始。
2025-06-07 16:16:37
88
转载 Leetcode344. 反转字符串
第一个与倒数第一个转换,第二个与倒数第二个转换,…代码里只要把alist[left]和alist[right]交换,left从头开始,right从尾开始。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间。
2025-05-28 21:26:09
24
转载 Leetcode160相交链表
那么如果headA遍历完之后,headB还没有遍历完,那么再令pA=headB去遍历B链表。巧妙地利用了数学关系。因此首先判断链表 headA 和 headB 是否为空,如果其中至少有一个链表为空,则两个链表一定不相交,返回 null。当链表 headA 和 headB 都不为空时,创建两个指针 pA 和 pB,初始时分别指向两个链表的头节点 headA 和 headB,然后将两个指针依次遍历两个链表的每个节点。给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。
2025-05-28 21:06:22
54
原创 代码随想录Day1 : 数组及二分查找
到底是while(left<right)还是while(left<=right),到底是right=middle,还是right=middle-1。因此要明白区间的定义,区间的定义就是不变量。要在二分查找的过程中,保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作,这就是循环不变量规则。因为如果有重复元素,使用二分查找法返回的元素下标可能不是唯一的。写二分法,区间定义一般分为两种,左闭右闭[left, right],或者左闭右开[left, right)。
2025-04-23 12:26:31
154
空空如也
Java中List<String> list=new ArrayList<>();
2021-05-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅