当前位置: 首页 > article >正文

02数组+字符串+滑动窗口+前缀和与差分+双指针(D5_双指针)

目录

一、基本介绍

二、算法思想

三、算法模型

1. 对撞指针

2. 快慢指针

3. 滑动窗口


一、基本介绍

双指针是一种应用很广泛且基础的算法,严格来说双指针不是算法更像是一种思想。

双指针中的“指针” 不仅仅是大家所熟知的C/C++里面的地址指针,还是索引、游标。

二、算法思想

双指针是指在遍历对象时,使用两个或多个指针进行遍历及相应的操作。

大多用于数组操作,这利用了数组连序性的特点。双指针常用来降低算法的时间复杂度,因为使用

两个指针可以避免多层循环。

双指针的三个关键点

  • 指针的起始位置的选取
  • 指针的移动方向
  • 指针的移动速度

这三个关键点是双指针算法的核心也是难点

三、算法模型

1. 对撞指针

对撞指针:左右两个指针,向中间靠拢。

2. 快慢指针

快慢指针:左右两个指针,一快一慢

3. 滑动窗口

滑动窗口:左右两个指针组成一个"窗口",右指针不断扩张,左指针按条件收缩。


http://www.kler.cn/a/523652.html

相关文章:

  • 春晚舞台上的人形机器人:科技与文化的奇妙融合
  • CAPL编程常见问题与解决方案深度解析
  • Linux C++
  • 【QT】- QUdpSocket
  • Spring事务和事务传播机制
  • arkui-x 前端布局编码模板
  • Oracle PMON进程清洗功能
  • Unbutu虚拟机+eclipse+CDT编译调试环境搭建
  • DeepSeekMoE:迈向混合专家语言模型的终极专业化
  • 从腾讯云数据仓库TCHouse安全地转移数据到AWS Redshift
  • SQL在DBA手里-改写篇
  • 实验七 带函数查询和综合查询(2)
  • Deepseek-R1性能指标
  • 【Android】问deepseek存储访问
  • 当AI学会“顿悟”:DeepSeek-R1如何用强化学习突破推理边界?
  • TypeScript中的函数:类型安全与高级特性
  • Vue.js组件开发-实现下载动态进度条
  • 机器学习(7):集成学习
  • HTML中的元素(elements)
  • 特征衍生与XGB
  • RockyLinxu9远程登录问题
  • HashMap讲解
  • windows lm studio 0.3.8无法下载模型,更换镜像
  • 复古壁纸中棕色系和米色系哪个更受欢迎?
  • 09 以太坊技术介绍
  • 数据分析和AI丨应对AI实施挑战,工程领域AI应用的五大方法