- 博客(23)
- 收藏
- 关注
原创 9.13 面试整理
MySQL和Redis缓存不一致的情况使用旁路缓存策略+消息队列解决缓存不一致问题,保证了最终一致性,如果需要实现强一致性那么就需要使用Cannal实时监控数据库的Binlog日志旁路缓存策略读先从Redis中读取,命中直接返回,未命中从数据库中读取写直接先更新数据库,然后删除Redis中的值Rabbit MQ消息队列使用Sentinel实现value内是需要保护的资源当触发配置的限流规则时,会抛出异常,捕捉到异常后执行blockHander中的实现逻辑。
2025-09-14 08:19:35
176
原创 算法随手记Day11-滑动窗口
给你字符串s和整数k。请返回字符串s中长度为k的单个子字符串中可能包含的最大元音字母数。英文中的为(aeiou示例。
2025-08-09 05:35:25
238
原创 算法随手记-滑动窗口Day10
中的字符串保存到一个HashMap中,并计数wordsCnt(其实这里可以把所有wordsCnt都看作1,但是因为words中的字符串可能会出现重复的情况,所以还是应该老实的+1),遍历判断他们中是否存在连续三个拥有words中的所有字符串,判断的话使用滑动窗口的思想。即可,因为后面的字符都已经使用滑动窗口遍历判断过了。中所有字符串以任意顺序排列连接起来的子串。长度的字符看作一个整体。
2025-08-07 16:05:16
732
原创 算法随手记Day9--滑动窗口
先是移动终点位置,找到符合条件的数组,然后再移动起始位置,一点点的寻找到最小的结果,寻找到结果后再移动终点位置,一点点的寻找到最终结果。2.移动这个数组的起始位置,判断是否依然符合>target,如果符合,判断长度然后更新最小长度,不符合继续移动数组的终点位置。当起始指针找到了和大于target的最小数组后,后面移动右指针不需要再从头再来遍历,直接继续起始指针即可,因为数组是正整数。2.然后再根据resultLength,从头到尾的获取长度为resultLength的所有数组。个正整数的数组和一个正整数。
2025-08-06 14:21:47
163
原创 算法随手记-双指针-Day8
2.两个下标的值相加,如果结果大于target,那么肯定就是要右面的指针左移动一个下标(因为排序好了,使用低一些的值来计算),如果小于target,那么就右移动一个下标。2.利用水桶的短板效应,比较这两个下标的值,将值小的下标左移或者右移一个单位,然后计算新水桶的最大储水量,如果大于记录的maxWater,那么就覆盖。2.两个指针的值比较,如果相同,left++,right–,然后再继续比较,不相同直接返回false。示例:【-5,-4,-2,0,4,5】target= 2;的形式返回这两个整数的下标。
2025-08-05 11:45:13
274
原创 算法随手记day7
n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。
2025-08-02 20:06:29
211
原创 算法随手记Day6
假如从下标0开始,然后遍历发现到下标3的时候油箱没油了,那么就可以直接不管0+3这段区间的所有值,因为0-3这段区间,油箱肯定一直有油,这样都无法到达后面,从这里作为起始点更是不可能抵达,所以直接从下标4开始,代码如下。1.看这个示例可以看出到达i号加油站时的汽油为restGas - cost[i - 1] + gas[i]1.只要gas中所有值的和 >= cost所有值的和,那么就一定有解,反之则没有解。,如果你可以按顺序 绕环路行驶一周,则返回出发时加油站的编号,否则返回。),应该使用取模的方式。
2025-07-31 11:58:27
154
原创 算法随手记day5
因为要判断元素是否存在而且时间复杂度要求必须为O(1),那么就不能遍历,我觉得只能用利用map的key-value特性。可以先用遍历将下标i前面的值乘积存入一个数组中,然后将后面的乘积存入另一个数组中,这样两个数组相乘,即是想要的结果。因为要判断元素是否存在,所以要将val作为key,然后将下标作为value。想要获取乘积,肯定要先获取所有元素,使用遍历?看了答案发现是将数组的最后一个元素放在被移除值的下标处。随机流程,根据数组长度,随机一个值,返回其所在下标的值。请 **不要使用除法,**且在。
2025-07-30 10:24:40
240
原创 算法随手记Day4
因为要判断至少有h篇论文被引用次数大于等于h,是否可以先排序呢?排序完成后从后往前遍历,设置初始有h = 0篇被引用,只要数组中的值大于h,那么h++循环结束判断:如果是h=1;那么不仅要考虑指数为0的情况,还要修改判断条件为citations[i] >= h。篇论文被引用的次数。计算并返回该研究者的 h。向后跳转的最大长度。生成的测试用例可以到达。代表“高引用次数” ,一名科研人员的。篇论文被引用次数大于等于。是指他(她)至少发表了。处,你可以跳转到任意。
2025-07-29 18:00:28
125
原创 算法随手记Day3
数组遍历,每个数先和lowPrice判断,如果小于它则将这个值赋给lowPrice,和最低成本计算利润,和最大利润highProfit比较,如果大于则赋值给最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。先初始化一个最低成本lowPrice 和最大利润highProfit。在每一天,你可以决定是否购买和/或出售股票。设计一个算法来计算你所能获取的最大利润。这种计算差值的时候是否都要保存两个值,然后去比较替换呢。你也可以先购买,然后在。买入这只股票,并选择在。
2025-07-26 20:39:21
258
原创 算法随手记day2
给你一个有序数组nums,请你**** 删除重复出现的元素,使得出现次数超过K次的元素,返回删除后数组的新长度。不要使用额外的数组空间,你必须在并在使用 O(1) 额外空间的条件下完成。
2025-07-25 20:38:53
302
原创 算法随手记day1
给你两个按排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你nums2到nums1中,使合并后的数组同样按排列。**注意:**最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。
2025-07-25 07:40:21
1216
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅