- 博客(26)
- 收藏
- 关注
原创 day07 和为 K 的子数组
方法的瓶颈在于对每个 i,我们需要枚举所有的 j 来判断是否符合条件,我们定义 pre[i] 为 [0..i] 里所有数的和,pre[i]=pre[i−1]+nums[i],那么「[j..i] 这个子数组和为 k 」这个条件我们可以转化为。简单移项可得符合条件的下标 j 需要满足。子数组是数组中元素的连续非空序列。
2025-12-01 15:23:11
123
原创 day06 接雨水
给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水下标 i 处能接的雨水量等于 min(leftMax[i],rightMax[i])−height[i],我们可以记录每个位置的左右最高柱子。上述做法中,需要维护两个数组 leftMax 和 rightMax,因此空间复杂度是 O(n)。注意到下标 i 处能接的雨水量由 leftMax[i] 和 rightMax[i] 中的最小值决定。
2025-11-30 15:37:48
708
原创 day05 移动零、盛水最多的容器、三数之和
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。直接将非0的数字左移即可,再填充剩下的格子为0使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。
2025-11-29 22:12:37
869
原创 day04 小美的区间删除
排除特殊情况,不删除区间的情况下,也无法满足k个0后缀;或者k=0,所有可能的删除方案。个元素中 2 和 5 的总个数,便于快速计算任意区间的 2 和 5 的个数。这里选择区间,如果暴力遍历的话,很显然会超时。k个0,也即k个(2,5)组合,首先统计每个元素包含的 2 和 5 的个数。的所有区间均为有效方案,统计其个数并累加到结果中。则根据当前区间是否满足条件进行调整。后剩余元素的 2 和 5 的个数均不小于。其次,区间删除,我们可以让。遍历每个可能的区间右边界,左指针。
2025-11-28 20:16:04
409
原创 day03 最长连续序列、小美的平衡矩阵
给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。
2025-11-28 17:11:53
655
原创 Java线程池源码(三)
本文基于java线程池源码,解析了线程池的核心组件(workQueue 、mainlock、workers、termination、largestPoolSize、completedTaskCount)。
2025-10-25 14:04:46
1195
原创 深入理解 Redis:从缓存需求到高性能服务的演进
Redis是一个高性能的远程字典服务(Remote Dictionary Server),通过内存缓存缓解数据库压力。
2025-10-11 14:41:03
979
原创 Redis——缓存雪崩问题
缓存雪崩是指大量缓存 Key 在同一时间段集中过期失效,或缓存服务(如 Redis)因故障(宕机、网络中断)整体不可用,导致原本依赖缓存的海量请求瞬间全部穿透到数据库。
2025-10-07 21:33:37
865
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1