- 博客(3)
- 收藏
- 关注
原创 双指针与滑动窗口核心解析
摘要: 双指针和滑动窗口是两种高效算法技巧。双指针通过两个变量(可同向、反向或快慢移动)优化遍历,适用于查找、反转等问题(O(n)复杂度)。滑动窗口是双指针的进阶,通过同向指针维护连续区间,适用于子数组/子串的最值、匹配问题(如最长无重复子串)。核心区别在于双指针不要求连续,而滑动窗口必须处理连续区间。两者均显著提升效率,将O(n²)问题优化为O(n)。
2025-12-26 16:22:08
291
原创 二分查找核心区间规则梳理
本文梳理了二分查找的两种核心区间写法。左闭右闭区间[0, length-1]使用left<=right循环条件,右边界更新为mid-1,确保边界值不被漏判;左闭右开区间[0, length)使用left<right,右边界更新为mid,避免越界风险。前者适合精确查找,后者适用于找插入位置等场景。两种写法各有特点,关键在于保持区间定义与边界更新的一致性,避免无限循环或漏判。
2025-12-25 14:44:39
171
原创 mybatis-plus 普通枚举类注解(@EnumValue)
前言 实际开发时,会遇到枚举字段如:学历(1:小学、2:初中、3:高中),前端展示小学,后端存储1。 定义配置 yml文件里添加配置,定义扫描枚举类的包路径; mybatis-plus: type-enums-package: com.demo.enums 定义枚举类 在枚举字段上添加**@EnumValue**注解 public enum GradeEnum { PRIMARY(1, "小学"), SECONDARY(2, "中学"), HIGH(3, "高中");
2022-04-25 16:37:22
2164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅