- 博客(44)
- 收藏
- 关注

原创 Sentinel入门
1.两个方法都要用public不要用private,第一个方法不加会导致sentinel找不到getResult这个资源名,同样的第二个不加会导致sentinel找不到这个方法然后报错。3.两个方法的参数类型必须一样,数量和参数类型要保持一致,注意第一个方法加了@PathVariable这个注解,这个只是url传参用的不需要加。4.blockHandler的值必须与你的兜底方法,也就是第二个方法保持一致。侵入式的代码如下,用SphU.entry定义要限制的业务逻辑。2.两个方法返回类型必须一样。
2025-03-01 11:50:35
352

原创 BeanPostProcessor介绍
BeanPostProcessor即Bean的后置处理器,是Spring框架提供的。作用是在Bean对象在实例化和依赖注入完毕后,在显示调用初始化方法的前后添加我们自己的逻辑。是实例化、依赖注入完毕,在调用显示的初始化之前完成一些定制的初始化任务。是实例化、依赖注入、初始化完毕时执行。
2025-02-28 16:49:17
164

原创 IDEA将项目代码同步到服务器或虚拟机
然后要在服务器或虚拟机上执行项目的话就通过服务器的命令行终端即可。或者在服务器项目文件目录的基础上使用idea的远程开发功能。然后点击这个按钮就可以同步了:这里因为我同步过了所以是空的。注意同步完之后项目还是在本地运行的,只是同步了代码。菜单栏点击工具->部署->配置。
2025-01-17 15:25:05
514

原创 网页端B站屏蔽视频推荐的脚本
然后其他地方的屏蔽可能出现失效的情况,这可能是页面加载速度影响。自己使用其实有一年了,但由于电脑坏了脚本丢失,遂重写并上传。记录了用户是否屏蔽视频的标志,通过快捷键。首页搜索框没屏蔽,懒得加了。监听页面变化,及时把推荐信息的。屏蔽推荐的核心是通过。
2024-12-13 19:27:53
1620
原创 动规【力扣】72. 编辑距离
当word1.charAt(i-1)==word2.charAt(j-1)时,不用做任何操作,所以dp[i][j] = dp[i-1][j-1];替换的话相当于经过一个操作使word1.charAt(i-1)==word2.charAt(j-1)了,所以是dp[i-1][j-1]+1。当word1删除一个元素,那就是dp[i-1][j]+1;而word2删除一个元素,那就是dp[i][j-1]+1。dp[i][j]含义是word1的i长度字符串和word2的j长度字符串所需的最少编辑距离。
2025-03-04 19:30:17
353
原创 动规【力扣】494. 目标和
首先是推导出left = (sum+target)/2。(left是加的数,right是减的数,left+right=sum,left-right=target)不放入时组合数有dp[i-1][j]种,放入时有dp[i-1][j-nums[i]]种。dp[i][j]指数组从1到i的元素中,加起来等于j有多少种组合。然后用动规求出数组加起来等于left的有多少种组合。而递推公式考虑两种情况:当前元素放入或者不放入。初始化时需要把dp[i][0] 都初始化为1。故dp[i][j]就是将这两种情况加起来。
2025-03-04 15:14:19
153
原创 【力扣】523. 连续的子数组和
每次遍历算出当前前缀和除以k之后的余数,哈希表存放余数,以及对于的下标。然后每次都查询哈希表,如果之前出现过这个余数,说明那个下标的下一位累加到当前下标是k的倍数。所以要i-map.get(remain)>=2。注意map.put(0,-1),余数为0时说明刚好时6的倍数。但是当i=0时,只有一个数时不合要求的;且当只有一个元素0时,也是不合要求的。所以要i-map.get(remain)>=2。4399笔试遇到的题。
2025-03-04 00:52:40
206
原创 Spring打包jar包后运行找不到resources下文件解决办法
【代码】Spring打包jar包后运行找不到resources下文件解决办法。
2025-02-16 02:09:58
205
原创 手动new实例导致依赖注入失败
确保 JavaDockerCodeSandbox 是通过 Spring 容器获取的,而不是手动实例化的。出来实例,所以类没有被 Spring 管理,也就没有注入对应的bean。在需要使用的地方通过@Resource注入bean,结果发现。
2025-02-06 17:30:13
154
原创 牛客【括号匹配深度】Java题解
合法就是说明左括号必定会有对应的右括号,所以我们直接遇到左括号加一,遇到右括号就抵消,然后计算最大值。注意题目给出的是“合法的括号”。这其实是解题的关键。
2025-02-03 02:03:23
199
原创 力扣【1049. 最后一块石头的重量 II】Java题解(背包问题)
最后求结果时,我们所最多能装的时dp[target],那另一半石头就是sum-dp[target],我们所求的就是(sum-dp[target])-dp[target],也就是sum-dp[target] * 2。让石头分成重量相同的两堆(尽可能相同),相撞之后剩下的石头就是最小的。进一步转化成容量为重量总喝一半的背包最多可以装多少质量的石头。这样就转化成了背包问题。
2025-01-30 23:13:57
586
原创 力扣【416. 分割等和子集】详细Java题解(背包问题)
不过我们其实可以用一维数组来做,因为我们的每次迭代其实只用到了dp数组的上一行。那我们可以用一个数组来进行滚动,不过遍历顺序得从后往前,因为我们迭代后面的物品时需要用到前面物品的值,且当容量大于当前遍历的物品时才迭代。对于该问题我们可以转换成背包问题,求 数组里的元素 装入 数组和的一半大小的背包 能取得的最大值。这样我们的代码更简洁且时间复杂度和空间复杂度都有改善。首先我们可以求出数组和,当我们找到。时,该就说明可以分割等和子集。然后注意可以剪枝的地方。
2025-01-30 15:58:21
689
原创 力扣【669. 修剪二叉搜索树】Java题解
一开始在想为什么题目说存在唯一答案。然后发现是二叉搜索树就合理了。如下图:如果0节点小于low,那其左子树也都小于low,故可以排除;对于4,其右子树也是可以排除。
2025-01-28 21:26:25
450
原创 力扣【235. 二叉搜索树的最近公共祖先】Java题解
按照二叉搜索树的特性,我们只需要找到第一个“大于p小于q”或者“大于q小于p”的节点,或者等于p或等于q的节点即可。当前节点大于p和q时,说明公共祖先在左子树。当前节点小于p和q时,说明公共祖先在右子树。
2025-01-28 02:24:31
254
原创 力扣 【99. 恢复二叉搜索树】Java题解(二叉树的 Morris 遍历)
这里借用了一个视频的一张图:我们可以发现如果只有一个降序段,那就交换这两个节点;如果有两个降序段,就交换第一个段的左边节点和第二个段的右边节点即可。递归和迭代遍历,不管是前序中序还是后续,空间复杂度都是O(n)(递归是因为隐式调用栈的开销)。思路就是节点的前序节点的右指针指向该节点,来保证可以通过前序节点找到后一个节点。通过Morris遍历,我们就可以做到O(1)的空间复杂度中序遍历这个二叉树。然后在中序遍历的序列找到错误的节点的方法是找到降序的段。而Morris遍历可以做到空间复杂度是O(1)。
2025-01-28 01:31:03
383
原创 力扣【98. 验证二叉搜索树】Java题解(容易写错的题)
但是在实际代码中,我们可以不用把元素保存在数组中,只需在每个节点遍历的时候和上一个节点的值比较即可。而这个过程需要设置一个全局变量,表示上一个节点的值,然后每次进行比较然后设置即可,而初始化则为Long.MIN_VALUE(因为测试用例中有int的最小值)二叉搜索树的中序遍历是有序数组(因为对于数组某个元素,左边是它的左子树而右边是它的右子树,显然二叉树搜索树左子树小于它,右子树大于它),所以可以直接中序遍历然后判断是否有序来判断是否是二叉搜索树。变量初始化为null。
2025-01-27 22:26:39
378
原创 力扣【347. 前 K 个高频元素】Java题解(堆)
因为是出现频率前 k 高,所以用小顶堆,当我们遍历的频率值大于堆顶值时就可以替换堆顶。首先遍历一次然后把各个数字的出现频率存放在哈希表中便于后面堆的操作。1.获取map的所有元素(键值对),TopK问题,我们直接上堆。
2025-01-26 19:37:06
277
原创 力扣【151. 反转字符串中的单词】 Java题解
通过split函数分割后倒序输出即可,不过需要注意split(" “)在某些情况会产生空字符串”",需要在代码中排除。
2025-01-26 15:03:42
100
原创 力扣【202. 快乐数】详细Java题解(哈希表)
但第三种情况不会发生,如下图,我们会发现位数增长到一定程度,它的下一位是会变小的。如9999999999999的下一位是1053。因此我们只需要考虑前两种情况,对于第二种情况我们使用哈希表来判断是否重复即可。
2025-01-25 13:13:03
265
原创 卡码网【44. 开发商购买土地】 Java详细题解(前缀和)
我们可以通过模拟切割每一条横线纵线算出差距进行比较,最后得出。此时A公司得到4,而B公司得到18-4 = 14。之后模拟每条线,比较得出最小差距。差距就是14-4 = 10。
2025-01-25 02:31:28
412
原创 力扣TopK问题【最小K个数】题解(Java堆的使用)
然后后面每个元素都和堆顶元素比较,如果堆顶大于该元素,就让堆顶元素出堆,让该元素入堆。Java 的 PriorityQueue 的底层是堆。我们可以将其看做堆来使用。大顶堆 max heap:任意节点的值>=其子节点的值。小顶堆 min heap:任意节点的值<=其子节点的值。堆(heap)是一种满足特定条件的完全二叉树。直接排序的话时间复杂度是O(nlogn)。建大顶堆,一开始先将k个元素入堆。时间复杂度是(nlogk)。
2025-01-24 19:47:49
452
原创 力扣题目 【135. 分发糖果】Java题解
根据这两个规则分别进行遍历求出每个孩子的糖果数,最后取两次遍历中每个孩子糖果数的最大值(这样两个规则都满足)相加就是结果。:当 ratings[i−1]<ratings[i] 时,i 号学生的糖果数量将比 i−1 号孩子的糖果数量多1。:当 ratings[i]>ratings[i+1] 时,i 号学生的糖果数量将比 i+1 号孩子的糖果数量多1。
2025-01-24 16:30:39
183
原创 力扣题目【6. Z 字形变换】 Java题解
我们通过一个数组和标志来模拟这个过程。首先是数组,数组代表的是经过Z字形变换后每一行输出的结果,这里使用StringBuilder数组。而标志表示的是变换过程中下个字符所在的方向,通过一个boolean表示,true表示向下,false表示向上。然后需要对numRows为1的情况特殊处理,直接返回原数组。
2025-01-24 15:34:35
250
原创 牛客【小红的中位数】 超详细Java题解
因为Java的多次输出导致多次IO操作所以会超时,所以这里使用StringBuilder拼接结果字符串后一次性输出。这也是Java做题的一个小技巧。1.n是偶数时,n/2为什么指向的是中间偏右一个元素?因为n是1开始而下标是0开始,所以下标的计数自然落后n一个计数。2.Java如何设置保留的小数位?首先排序(排序会使下标改变,这里通过Node类来保留原来的坐标),然后。
2025-01-22 23:38:37
379
原创 牛客【小红的好数组】 详细Java题解
然后我们的k范围内奇数和偶数可以计算,而奇数和偶数位置的个数也可以计算,所以我们可以计算好数组的个数。然后求幂的过程需要用快速幂,但Math.pow函数可能会溢出所以自己写快速幂。注意在可能溢出的地方取模1e9+7即可。小红定义一个数组是好数组,当且仅当所有长度为3的连续子数组的元素和为偶数。现在小红希望你求出,长度为nn,且所有元素均为不超过kk的正整数的好数组数量。分割数字增强可读性。由于答案可能过大,请对109+7109+7取模。快速幂就是通过二分的方式加快求幂效率。一个整数,代表好数组的数量。
2025-01-19 00:10:53
436
原创 牛客【小红炸砖块】 详细Java题解
然后输出需要注意下,因为我一个字符一个字符输出超时,所以改成StringBuilder拼接结果字符串然后整个输出就过了。很有意思的一道题,简单来说就是炸掉指定位置的方块,然后顶部的方块会掉落。即可,炸掉时判断炸掉的方块是否在范围内即可。
2025-01-18 01:13:23
128
原创 解决虚拟机Docker因网络问题无法拉取镜像问题
HTTP_PROXY 用于代理访问 http 请求,HTTPS_PROXY 用于代理访问 https 请求,如果想某个 IP或域名不走代理则配置到 NO_PROXY中。然后通过daemon-reload命令让systemd重新加载所有配置。下面红框地址即为需要配置的地址,写入上面的配置中。然后重启docker服务。然后就可以成功拉取镜像了。
2025-01-13 15:53:50
481
原创 Ubuntu如何通过ssh登录root用户
查看sshd状态如果不是默认启动,修改服务为enable。Ubuntu默认没有安装ssh的server,需要安装。修改/etc/ssh/sshd_config文件。修改如下:允许root账户登录。重启系统或者sshd服务。
2025-01-13 12:18:53
639
原创 解决报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasour
发现启动的服务中并没有引入上述依赖,于是检查引入的其他模块,果然在该模块里面发现了mybatis-plus的依赖(该依赖包含jdbc的依赖)。:(mybatis的依赖也会包含这个依赖)
2024-11-14 16:04:48
492
原创 报错解决记录:Annotation-specified bean name ‘xxx‘ for bean class [xxx]conflicts with existing...
看到com.xuecheng.messagesdk.mapper.MqMessageHistoryMapper这个包有点疑惑,因为我并无在这个模块引用,因为这个模块有自己的MqMessageHistoryMapper,报错信息中的MapperFactoryBean也说明了这一点。在pom文件中也无发现引入这个依赖的地方。所以下次遇到idea的这个提示时要小心。经过一番无效的寻找后,突然想起前面。
2024-11-13 22:22:32
2362
原创 虚拟机docker中nacos宕机后能启动但访问不了解决办法
在mysql改了个innodb_force_recovery=6 就可以启动了(但此操作要慎重,可能损坏文件),但此时mysql是只读状态,因为需要把数据sql通过mysqldump下来,然后再运行一个新的容器,再把dump下来的sql导入新的容器。在学习学成在线项目过程中,虚拟机以及里面的docker容器都开启的状态下电脑突然自动重启了。再尝试开启后,发现其他都正常,唯独nacos(其实还有数据库)访问不了。每次对虚拟机进行了一些操作之后,要及时保存快照(可以开启自动保护快照功能)。
2024-11-09 15:23:48
528
1
原创 BD202303第五维度-百度之星
时间限制:1秒占用内存:64M零维是点,点动成线;一维是线,线动成面;二维是面,面动成体;三维是体,体动成史;四维是史,史动????现在人类企图理解第五维度。而小度现在是第五维度的一位智者。
2023-09-21 00:32:53
143
1
原创 【PAT】1023 组个最小数
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。
2023-09-11 00:19:36
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人