自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 盛最多水的容器

从最大宽度开始;每轮计算当前面积;宽度缩小时,只有移动较短边才可能提高有效高度;两个指针相遇后结束。双指针把所有线对的枚举从O(n²)优化为O(n),同时保持O(1)额外空间。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-25 17:18:33 354

原创 正则表达式匹配

dp[i][j]:s 的前 i 个字符,是否能被 p 的前 j 个字符完整匹配。普通字符或点号匹配时,继承左上角状态;星号匹配零次时跳过两个模式字符;星号匹配一次或多次时,消费一个字符串字符并保留模式位置。只要理解和分别代表什么,整个动态规划就会非常清晰。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-24 15:53:56 205

原创 回文数 Java 题解:只反转后一半数字,避免溢出

负数直接返回false;非零且末尾为零的数字直接返回false;不断将原数字个位追加到反转部分;到达数字中间时停止;偶数位比较两半是否相等;奇数位去掉中间数字后再比较。该方法不创建字符串、不完整反转整数,空间复杂度为O(1),也避免了整数溢出。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-20 17:21:58 305

原创 字符串转换整数

跳过前导空格;读取至多一个符号;连续读取数字;遇到其他字符立即停止;在追加数字前预判边界;越界时返回对应的 32 位极值。使用负数累计可以在不依赖 64 位整数的情况下,统一处理2147483647和两个不对称边界。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-19 20:48:24 183

原创 整数反转 Java 题解

整数反转的核心流程很简单:取个位、删个位、追加到结果。不能使用 64 位整数;不能先计算后判断溢出;正数和负数的最后一位阈值不同;不能用取绝对值的方式处理最小整数。掌握“运算前检查边界”的思路后,这类固定范围的数值题就能写出安全、稳定的实现。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-18 21:03:04 298

原创 Z 字形变换 Java 题解:按行模拟与方向切换

每一行使用一个;表示向下,-1表示向上;到达第一行或最后一行时切换方向;遍历完成后逐行拼接。这种写法时间复杂度为O(n),逻辑清晰,也能自然处理不同的行数。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-17 15:57:00 197

原创 最长回文子串 Java 题解,中心扩展法详解

奇数长度回文:只有一个中心字符,例如aba的中心是b;偶数长度回文:中心位于两个字符之间,例如abba的中心是bb之间的间隙。因此,遍历字符串时,每个位置都要尝试两种中心。每个字符尝试一次奇数中心;每个字符间隙尝试一次偶数中心;左右字符相等就继续扩展;记录遇到的最长区间并返回。这套方法时间复杂度为O(n²)、空间复杂度为O(1),实现简单且不容易出错。需要进一步优化到O(n)时,再学习 Manacher 算法即可。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-12 16:21:16 301

原创 寻找两个正序数组的中位数 Java 题解,二分分割详解

始终在较短数组上进行二分;根据左半区总长度计算另一个数组的分割位置;使用四个分割边界判断左右区域是否有序;根据总长度的奇偶性计算中位数;使用long避免偶数长度取平均值时溢出。理解分割线后,这道困难题会从复杂的数组合并问题,变成一个标准的二分查找问题。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-11 15:00:25 342

原创 无重复字符的最长子串 Java 题解,滑动窗口一次遍历

窗口始终代表连续子串;哈希表记录每个字符最近一次出现的位置;遇到窗口内的重复字符时移动左边界;使用Math.max保证左边界永不回退。掌握这个模板后,还可以继续解决“长度最小的子数组”“字符串排列”“覆盖子串”等一系列连续区间问题。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-11 10:16:14 229

原创 两数相加 Java 题解,链表如何模拟竖式加法

9] + [1]的正确结果是[0, 1]。循环结束后必须保留最后的进位,或者像推荐答案一样直接把carry!= 0放入循环条件。链表逆序存储,头节点就是个位,可以直接从头开始计算;使用carry保存上一位产生的进位;长度不足的链表按0处理;两个链表结束后,仍然要检查最后的进位。掌握虚拟头节点、双指针和进位处理后,这道题的代码就会变得非常自然。更多技术实践与案例,可在 📗【姚前述】中查阅。

2026-08-10 17:01:37 237

原创 两数之和 Java 题解,从暴力枚举到哈希表一次遍历

两数之和 Java 题解,从暴力枚举到哈希表一次遍历

2026-08-10 14:17:46 514

springboot项目

自己总结的springboot的一个完整的项目,上传的的压缩包,下载部署到eclipse就可以用,jdk1.8

2018-12-19

sprinbgoot整合kafka

sprinbgoot整合kafka

2023-08-11

sprinboot整合netty

sprinboot整合netty

2023-08-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除