- 博客(21)
- 收藏
- 关注
原创 Redis 数据类型详解
Redis数据类型涵盖string、hash、list、set、zset、位图、HyperLogLog、地理空间、发布订阅、流和模块。string用SET/GET;hash以HSET/HGET管理多字段;list通过LPUSH/RPUSH等实现双端操作;set处理无序去重成员;zset按分数排序,支持ZADD/ZRANGE等命令,是set
2026-09-08 18:56:21
133
原创 Redis自学日记(一)
关于Redis for Windows安装、基本操作、配置文件核心参数详解。摘要要简洁概括。注意字数。</think>本文介绍了Redis for Windows的下载安装、连接及基本键值操作,并详解了配置文件核心参数,涵盖网络、持久化、内存管理、安全及虚拟内存等配置,最后对守护进程等疑惑项作了补充说明。
2026-09-07 21:34:00
451
原创 本地docker-desktop中的容器docker与本地pgsql进行对接
SonarQube容器反复崩溃,日志显示H2数据库损坏。解决方案:创建Docker网络,启动PostgreSQL容器,删除旧容器,重建SonarQube并连接PostgreSQL,通过环境变量配置JDBC,挂载数据卷。最终成功运行,访问9000端口即可使用。
2026-09-03 15:25:33
417
原创 sonar-qube遇见wsl抖动报错:execvpe(/bin/bash) failed: No such file or directory
1、执行 docker start 时,Docker Desktop 的 WSL2 后端还没就绪(当时 Docker Desktop 刚启动、或中途重启过,正在初始化)。
2026-08-31 16:50:15
180
原创 给Sonar-Scanner加装阿里的P3C编码规则
本文介绍了在SonarQube Docker容器中安装PMD插件(p3c规则)的完整流程:下载jar包、复制进容器并确认日志,然后在控制台创建自定义质量配置并激活p3c规则。最后讲解数据卷持久化操作,包括创建卷、备份数据、重建容器及修复权限,确保插件配置稳定保存。
2026-08-31 16:31:56
598
原创 2026/8/27日记:在本地部署docker-desktop客户端,并适用scanner扫描代码
本文是一篇面向 Windows 开发者的 SonarQube 本地代码质量扫描环境搭建教程。文章从零开始,依次讲解 Docker Desktop 与 WSL2 的安装、国内镜像加速配置、WSL2 内存限制设置、SonarQube 容器启动、JDK 17 环境确认、项目编译、访问令牌生成,以及最终的扫描配置与执行。全文步骤清晰、命令完整,适合需要在本机快速搭建 SonarQube 扫描环境的 Java 开发者参考。
2026-08-27 18:40:35
342
1
原创 力扣 438 题解:找到字符串中所有字母异位词(滑动窗口 + 频率匹配)
本题的核心技巧是用matched计数器代替每次滑动都重新比较哈希表,将判断异位词的时间从O(26)降为O(1),从而把整体复杂度控制在O(n)。理解matched在窗口扩展和收缩时的更新时机,是掌握这类「固定长度滑动窗口 + 频率匹配」题目的关键。
2026-08-26 10:42:03
228
原创 关于力扣第239题的题解【滑动窗口最大值】
本文详细解析力扣第 239 题「滑动窗口最大值」的解法。核心思路是使用**滑动窗口 + 单调队列**:遍历数组时,维护一个双端队列(Deque),队首始终保存当前窗口的最大值。每次加入新元素前,先移除队尾所有比它小的元素,保证队列单调递减;同时移除已滑出窗口的队首元素,从而在 O(n) 时间内求出每个窗口的最大值。文中附有完整的 Java 代码实现,并整理了 Deque 常用方法对照表,帮助读者快速掌握单调队列的写法与原理。
2026-08-26 10:41:44
182
原创 关于LeetCode第3718题的题解[2026/8/25日每日一题]
使用递归去查找是否存在,如果存在,则继续递归下一倍率,直到下一倍率不存在,则直接返回乘数
2026-08-25 09:07:49
12
原创 关于 LeetCode 第 27 题的题解
本文给出 LeetCode 第 27 题「移除元素」的 Java 题解。采用双指针法,通过一次遍历将不等于 `val` 的元素前移,原地修改数组并返回新长度,时间复杂度 O(n)、空间复杂度 O(1)。
2026-08-24 14:40:58
362
原创 关于LeetCode第9题的题解
本文提供了LeetCode第9题(回文数)的Java解法。通过将整数转换为字符串,然后逐个比较首尾字符是否相同来判断是否为回文数。若发现不匹配字符则立即返回false,否则遍历完成后返回true。该解法直接利用字符串操作简化了数值处理,适合初学者理解回文数的基本判定逻辑。代码简洁明了,适合处理常规回文数验证场景。
2026-08-24 08:35:43
259
原创 LeetCode 12. 整数转罗马数字 - 详解与 Java 实现
本文详细解析了 LeetCode 第 12 题「整数转罗马数字」的两种主流解法: **核心解法**: 1. **硬编码枚举法**:将整数按千、百、十、个位分解,每位数字对应预定义的罗马数字组合,最后拼接结果。时间复杂度 O(1),代码直观易懂,适合面试场景。 2. **贪心算法**:预先定义所有罗马数字符号及其对应数值,从大到小遍历并尽可能使用当前最大符号。同样 O(1) 复杂度,代码稍长但更通用。 **关键要点**: - 罗马数字规则:7 种基本字符 + 6 种特殊减法组合(IV、IX、XL、XC、CD、
2026-08-23 21:08:06
263
原创 #关于LeetCode第26题的三种解法
本文介绍了LeetCode第26题(删除有序数组中的重复项)的三种解法:1)使用HashSet去重后排序,效率较低;2)优化为LinkedHashSet保持插入顺序;3)高效的双指针法(官方解法),通过快慢指针原地修改数组。前两种方法时间复杂度较高,第三种方法只需一次遍历,时间复杂度O(n)。摘要重点突出了不同解法的核心思路和性能差异
2026-08-23 00:35:26
171
原创 关于LeetCode第11题的题解
该文章介绍了LeetCode第11题"盛最多水的容器"的两种解法。初始暴力解法时间复杂度为O(n²),无法通过测试。优化后采用双指针法,通过比较左右指针高度并移动较小的一边,将时间复杂度降为O(n)。文章通过图示说明最大面积由最矮柱子与间距决定,保留较高柱子并移动较低指针可高效找到最大面积。最终解法通过一次遍历即可得出结果,效率显著提升。
2026-08-22 23:53:35
289
原创 关于LeetCode第20题的两种解法
本文介绍了LeetCode第20题(有效括号)的两种解法: 栈解法:利用栈的后进先出特性,遇到左括号时压入对应的右括号,遇到右括号时弹出栈顶元素进行匹配。时间复杂度O(n),空间复杂度O(n)。 字符串替换法:通过循环替换成对括号为空字符串,最多执行n/2次替换。虽然代码简洁但效率较低,时间复杂度O(n^2)。 两种方法各有优劣,栈解法效率更高,而替换法则更简洁直观。文章通过示例和比喻(如弹匣)生动解释了栈的工作原理。
2026-08-22 23:52:57
323
原创 关于LeetCode第14题的题解
首先,看到题目,第一时间想到的肯定是暴力解,先将数组放入map中,减少扫描损耗,之后先得出最短的字段长度,由于公共前缀肯定不可能超出最短长度,因此,可以从0到最短长度开始扫描,当map中所有同一位置的字符全部相等时,公共前缀字符串加上这一字符;一旦出现不相等字符时,直接取消当次扫描,并且退出循环
2026-08-21 15:19:27
180
原创 关于LeetCode第15,16,18题的题解
LeetCode 题解摘要 第15题:三数之和 方法:排序 + 双指针 + Set去重 先排序,固定一个数,用左右指针找另外两个数 和为0时加入Set自动去重 第16题:最接近的三数之和 方法:排序 + 双指针 + 记录最小差值 与15题类似,但找最接近target的组合 每次计算差值,更新最小差值对应的和 注意:指针要在计算完当前组合后再移动 第18题:四数之和 方法:三数之和的扩展 固定两个数,再用双指针找另外两个数 用Set去重 注意:用long防止整数溢出
2026-08-21 15:18:39
918
原创 关于LeetCode第7题的题解
该题解提供了LeetCode第7题(整数反转)的Java解法。关键在于处理整数溢出问题:在每次反转前检查是否超出32位整数范围(MAX=2147483647,MIN=-2147483648)。算法通过取模和除法逐位反转数字,若反转后的中间结果超出范围则立即返回0。特别强调判断逻辑必须放在计算前,否则会失去溢出检查意义。最终返回成功反转的整数或0(溢出时)。图示展示了示例输入123的反转过程。
2026-08-20 15:16:51
156
原创 力扣第六题详解【仅个人见解】
本文提供了LeetCode第6题(Z字形变换)的Java解法。通过分析Z字形排列的周期性规律(周期为2*numRows-2),将字符串分为首行、中间行和末行分别处理:首行字符位于周期起点,末行字符位于周期中点,中间行字符则对称分布在周期两侧。代码使用StringBuilder高效拼接结果,并对特殊情况(行数为1或字符串短于行数)做了优化处理。该解法时间复杂度为O(n),空间复杂度为O(n),通过了LeetCode测试用例。
2026-08-20 14:37:53
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅