- 博客(409)
- 收藏
- 关注
原创 一篇博客带你学会Rabbitmq(后端必知必会)
本文介绍Rabbitmq,包含简单案例,多种交换机的使用,以及消息序列化等,一篇博客让你学会Rabbitmq,有多种案例,代码和运行结果。
2024-06-04 15:13:50 876
原创 一篇博客带你了解JVM(后端必会、七千字精简笔记)
本篇为个人jvm笔记,较为精简,适合已经学习过的人复习,包含场景垃圾回收算法,场景垃圾回收器等知识。
2024-05-08 17:12:03 1249
原创 一篇博客带你学会JavaScript(前后端必会、二万字笔记)
主要包含script 标签、基本语法、DOM 操作、事件传播、定时器等。包含代码和动图,让你直观的了解javascript,一篇就够,一看就懂。
2024-04-11 08:57:33 983
原创 一篇博客带你学会CSS(前后端必会、三万字笔记)
用一篇博客带你学会CSS,里面包含大量的样例和展示效果,各种动图让你更好的理解。三万字的笔记,让你全方位细致学会。
2024-04-10 15:33:11 1337
原创 Redis的前世今生(内存管理、持久化、高可用、集群 详解)一看就懂
redis的诞生和mysql脱不了关系,在redis还未出现时,用户的每次请求都是直接访问mysql,渐渐的人们发现,请求大部分都是读操作,而且很多都是重复的数据,磁盘的i/o是很慢的,所以人们就想,能不能学学cpu建立的缓存机制,mysql也搞一个缓存,就这样一个。在判断一个元素是否存在时,就会用多个相同哈希函数映射,然后判断映射的位置上是否都为1,若都为1说明可能存在,因为可能有其他的一些元素映射会将这些位置正好都置为了1,所以可能会发生很小概率的误判,当然如果不都为1,那么一定是不存在的。
2024-04-06 17:17:33 1016 2
原创 LeetCode:3148. 矩阵中的最大得分(DP Java)
min表示最小值,用当前单元格值减去最小值,那么就是到此单元格的最大值,与res进行max,直到遍历完所有单元格,即求出答案。
2024-08-19 15:21:20 423
原创 LeetCode:2110. 股票平滑下跌阶段的数目(数学 Java)
简单模拟一下就可以,[3,2,1,4]连续下降次数,1,2,3,1;起始含义就是以下标i结尾的元素可以组合的答案数,加起来就对了。因为从下标1开始遍历的,所以少算一个1,最后res + 1即为正确答案。
2024-08-09 14:41:57 231 2
原创 LeetCode:3132. 找出与数组相加的整数 II(排序+暴力 || 排序+双指针 Java)
数据范围很小,直接暴力循环两个指针,然后判断是否成立,获取最小结果即可。当然有点过于暴力了,可以简洁点写,用双指针。因为必存在答案,最多三个之中必有一个最后留下,所以遍历三个num1元素,求出x,验证x是否正确,取最小值。
2024-08-09 10:40:22 409 2
原创 LeetCode:3096. 得到更多分数的最少关卡数目(Java 前缀和)
可获取的分数是一定的,把0替换成-1并且求出sum,遍历并记录alice已经获得的分数,sum - pre 为bob可以获得的分数。当分数pre > sum - pre时,获取结果。
2024-08-02 18:18:23 892
原创 LeetCode:2844. 生成特殊数字的最少操作(贪心 Java)
究极大贪心,能被25整除就那么几种情况,后缀为00, 25, 50, 75的,所以从后向前遍历,判断那种情况先达成即可。注意都不达成时,最后就只能为0,返回长度- 0的个数就是要去除的res。
2024-08-02 17:55:50 376
原创 LeetCode:2766. 重新放置石块(Java 模拟)
利用map来模拟石头的移动,key是存在石头的位置坐标,value是该位置存放的石头数量。注意两点即可。 1. 可能移动空石头2. 可能石头原地移动
2024-08-02 15:38:58 416
原创 LeetCode:3111. 覆盖所有点的最少矩形数目(贪心 Java)
贪心,因为矩形只限制宽度,所以可以不用考虑高度的影响,根据x大小排序,顺序处理,每次矩形用左边界放节点最大可能的去包含右侧节点,如果节点没有被包含,就新添加一个矩形。
2024-08-02 14:13:21 565
原创 LeetCode:3128. 直角三角形(枚举 Java)
比较简单,枚举直角的交叉点,交叉点对应行和对应列的 1 的个数相乘求和就是答案。当然要减去交叉点,所以 - 1 再相乘。
2024-08-02 13:40:20 431
原创 LeetCode:3101. 交替子数组计数(Java 找规律)
找出cnt与答案的关系即可。我写的是找出每个长度组合个数和cnt的关系,最后加上每一个单个数字。简介版是找出每个已当前为结尾的子组的组合个数。
2024-07-06 14:42:48 357
原创 LeetCode:3047. 求交集区域内的最大正方形面积(Java 枚举)
枚举每一个矩阵组合,找到左下角最大的和右上角最小的,判断是否可以构成矩形,找到最小边即为可以放下的最大的正方形,对res进行更新。
2024-07-05 09:30:21 393
原创 LeetCode:406. 根据身高重建队列(Java 贪心)
list.get(k) 表示当前数字前面有k个空位的位置。因为先按照身高大小从小到大排序了,后面出现的数一定比当前的数字大,所以get所得的数字一定是当前遍历数所要放入的最终位置。每次get后进行删除,因为该位置已经被占用,想要获得前面有k个空位置的下标会向后移。
2024-07-04 15:48:56 284
原创 LeetCode:494. 目标和(Java DP)
根据题意,我们记 sum 为数组总和,neg 为负号的值,sum - neg 就为正号的值,所以我们可以推出公式(sum - neg) - neg = target,也就是: neg = (sum - target)/ 2,这个是求的负号的值,也可以用正号值(sum + target)/ 2,结果肯定是一样的,target 大于 sum,或则 target 与 sum一个奇,一个偶,显然是没有方法的,返回 0。
2024-06-30 13:49:26 199
原创 LeetCode:2734. 执行子串操作后的字典序最小字符串(贪心 Java)
只有字母a变成z是字典序变大,其余字母变成前一个是减小。所以找到第一个非字母a的位置向后进行变化直到遇到字母a,一种特殊情况是全为a,把最后一个a变为z即可,因为题目必须要变换。我们选择从下标 0 开始、到下标 1 结束的子字符串执行操作。我们选择从下标 1 开始、到下标 4 结束的子字符串执行操作。可以证明最终得到的字符串是字典序最小的。可以证明最终得到的字符串是字典序最小的。可以证明最终得到的字符串是字典序最小的。是字符串中的一个连续字符序列。我们选择整个字符串执行操作。现有长度相同的两个字符串。
2024-06-27 21:53:57 160
原创 LeetCode:72. 编辑距离(Java DP)
i][j]表示前s1前i个字符变为s2前2个字符需要的操作数。如果s1[i],s2[j]相等,不需要操作,等于前一个状态,f[i - 1][j - 1];否则,在替换字符表达式f[i - 1][j - 1] + 1和删除字符表达式f[i - 1][j] + 1 和 添加字符表达式f[i][ j - 1] + 1中取min
2024-06-18 21:41:46 507
原创 LeetCode:2779. 数组的最大美丽值(滑动窗口 Java)
根据题目,很容易想到,要把数最密集的区间中的改为同一个值,所以第一步先排序。然后使用滑动窗口,让窗口内的值保持在2k之内,记录最大的个数,即为答案。
2024-06-15 11:42:09 271
原创 LeetCode:419. 甲板上的战舰(遍历 Java)
只统计船的左上点位。因为船形状是固定的只能一条线。如果不是那么也很简单,就是图论,dfs或dfs标记一下以及遍历过的点即可。可以看下面这题的解析。
2024-06-11 22:08:02 470
原创 LeetCode:2938. 区分黑球与白球(贪心 Java)
因为1都要放到0的右边,所以遍历的时候记录1的个数,直到遇到0就进行交换,交换次数就是之前出现的1的个数。
2024-06-06 15:12:31 207
原创 LeetCode:3067. 在带权树网络中统计可连接服务器对数目(Java DFS)
遍历每一个节点t,然后dfs每个t的相邻节点,求出每个相邻节点构成的子树中符合路径可以被signalSpeed整除的节点个数,最后从左向右相乘相加。
2024-06-04 23:45:32 409
原创 微服务:Rabbitmq利用jackson序列化消息为Json发送并接收
Spring默认会把你发送的消息通过JDK序列化为字节发送给MQ,接收消息的时候,再把字节反序列化为Java对象。我们可以配置JSON方式来序列化,这样体积更小,可读性更高。
2024-06-04 12:00:00 299
原创 微服务:Rabbitmq中的不同交换机的使用Fanout、Direct、Topic(消息队列中间件)
本文接收mq中Fanout、Direct、Topic交换机的区别和作用,并且给出每种交换机的使用方法,包含详细的代码和运行结果。
2024-06-04 08:00:00 431
原创 微服务:Rabbitmq的WorkQueue模型的使用、默认消费方式(消息队列中间件)
可以看到,其实rabbitmq默认有**预分配**(预取,每个消费者和队列中有一个通道,存放预取的消息),平均分消息,然后各自独立消费,所以消费者2要比消费者1消费完25条(50/2)消息时间长。配置中prefetch设置为1,每次消费完消息才取下一个。(能力越大,责任越大,消费快的,消费越多)
2024-06-03 09:00:00 403
原创 Docker成功启动Rabbitmq却访问不了管理页面问题解决
1. 端口问题:去开启端口2. 没开启管理界面:进入容器输入相应命令开启3. 重启docker,重启容器即可(上面两条没问题,一定要是试试这个)
2024-06-02 21:12:30 1045
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人