算法套路

2022/08/23 算法 共 384 字,约 2 分钟

平时在刷算法题的时候经常会遇到一些套路, 也就是一些类似的小技巧. 这类技巧能够快速的帮我们解决某一类的算法问题. 这里就是整理一下自己遇到的,总结的算法技巧, 以及这些技巧可以应用与哪些场景.

1 滑动窗口(双指针)

个人理解,滑动窗口 的基础就是双指针. 即一个快指针代指窗口的头部, 一个慢指针代指窗口的尾部. 滑动窗口经过的地方就是我们要处理的数据.

滑动窗口示意图

如图所示,我们的滑动创建运动方向从左往右, 已经经过了区域1,正在经历区域2,3,4. 还没有经历区域5.

1.1 滑动窗口的特性

通过上面分析可知, 滑动窗口是一个窗口经过一段连续的区域,并实时计算统计经过区域内的一些值. 所以滑动窗口很适用的场景特点也就出来了:

  1. 单维度数据,比如字符串, 比如一维数组.
  2. 结果值有连续特性要求的. 因为滑动窗口必然是连续经过计算区域的.所遇到的值也必然是连续的.

1.2 常见场景

  1. 计算一个字符串内不含有重复字符的

未完待续

文档信息

Search

    Table of Contents