Mr.Alleyf
  • 首页
  • 归档
  • 分类
  • 标签
  • 画廊
  • RSS
  • Github
  • 关于
  • 友链
  •   
  •   

数组有序即可用双指针! 快慢指针 原地修改(链表反转(头反转【pre,cur,原地循环交换】、中间局部反转【找前、断中、反中、连后】、k个一组反转【计算长度、初始化前驱和头尾节点、循环取K个、逐组反转、更新前驱和尾结点】)) 左右指针和快慢指针: 左右指针,相向而行或者相背而行 快慢指针,同向而行,一快一慢 数组中索引作为指针 滑动窗口 left 指针在后,right 指针在前,中间
2026-03-13
算法学习

应用场景寻找一个数、寻找左侧边界、寻找右侧边界。这三种场景使用统一的框架,while 条件统一用 <=,边界更新统一用 mid ± 1(mid=left + (right - left) / 2,等价于(left + right) / 2,防止整形溢出,便于记忆。 有序数组旋转找目标值:有序数组旋转后对半局部有序,先看 mid 命中没有;再判断哪半边有序;最后看 target 在不在有序那
2026-03-13
算法学习

应用场景主要用来解决子数组问题,比如让你寻找符合某个条件的最长/最短子数组 框架模板基于这个框架,遇到子串/子数组相关的题目,你只需要回答以下三个问题: 1、什么时候应该移动 right 扩大窗口?窗口加入字符时,应该更新哪些数据?2、什么时候窗口应该暂停扩大,开始移动 left 缩小窗口?从窗口移出字符时,应该更新哪些数据?3、什么时候应该更新结果? 123456789101
2026-03-11
算法学习

应用场景主要适用的场景是原始数组不会被修改的情况下,前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。 框架模板12345678910111213141516171819class NumArray { // 前缀和数组 private int[] preSum; // 输入一个数组,构造前缀和 public NumArray(int[] nums) &#
2026-03-10
算法学习
二叉堆详解

二叉堆详解

二叉堆(Binary Heap)技术详解目录 二叉堆的性质 最常见的应用:优先级队列 另一种应用:堆排序 一、二叉堆的性质1.1 基本定义二叉堆(Binary Heap)是一种特殊的完全二叉树数据结构,满足堆性质(Heap Property)。它是实现优先级队列和堆排序算法的基础。 核心特征: 完全二叉树结构:所有层级都被填满,除了最后一层,且最后一层的节点从左到右填充 堆性质:每个节点的值
2026-03-09
算法学习
#算法 #数据结构
多叉树遍历算法详解

多叉树遍历算法详解

多叉树遍历算法详解 Java 实现 - 递归遍历(三种)+ 层序遍历(三种) 📖 目录 树结构定义 递归遍历 前序遍历 后序遍历 深度优先遍历(DFS) 层序遍历 标准层序遍历 按层遍历 之字形层序遍历 完整代码 测试结果 🌲 树结构定义123456789101112131415// 多叉树节点类class TreeNode { int val;
2026-03-09
算法学习
#算法 #数据结构
TreeMap 与 TreeSet 的简单实现

TreeMap 与 TreeSet 的简单实现

TreeMap 与 TreeSet 的简单实现 基于二叉搜索树(BST)的 Java 实现 📖 目录 概述 TreeMap 实现 TreeSet 实现 使用示例 复杂度分析 📝 概述根据 Labuladong 二叉搜索树的应用及可视化 中的接口说明,本文实现了以下接口: TreeMap 接口1234567891011121314151617class MyTreeMap<K, V&
2026-03-08
算法学习
#算法 #数据结构

事务事务特性(ACID) 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。 一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。 隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。 可以借
2026-03-05
后端开发

定位慢查询内因: 聚合查询 多表查询 表数据量过大查询 深度分页查询表象: 页面加载过慢、接口压测响应时间过长(超过 1s) 方案一:开源工具调试工具:Arthas运维工具:Prometheus、Skywalking 方案二:MySQL 自带慢日志慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认 10 秒)的所有 SQL 语句的日志如果要开启慢查询日
2026-03-05
后端开发

双指针技巧 快慢双指针同向游走遍历(p1,p2) 需要返回头结点的新建链表都采用dummy虚拟头结点 dummy初始化为虚拟头结点,避免边界问题 dummy.next最为最终返回的链表头结点 删除链表节点要找到前驱节点 +1-1分不清,画个特例就理解 链表合并(两个直接比大小,多个优先队列) 链表分解 合理利用队列和栈(栈用来反转序列,优先队列用来找最值)
2026-03-04
算法学习
1…1011121314

搜索

Alleyf Homepage
总访问量 次 总访客数 人
陕ICP备2022010038号 | police-icon 陕公网安备2022010038号