双指针总结

Iris S
Dec 28, 2021

Substring系列

找At least K个数

  • 用for loop移动右指针,左指针只在通过某些条件的情况下移动
  • 每一轮for loop都累加当前count,通过某些条件的情况下给count++
  • Substring With At Least K Distinct Characters — https://www.lintcode.com/problem/1375/description

Replacement系列

滑动窗口 — 利用最大窗口特性

  • 用max, min来记录合法string长度
  • 用k+单个字母最大出现次数来定义最大的窗口长度
  • 移动左指针来缩小窗口

技巧

  • hash table来储存某个字母出现的次数,当次数为0时,进行某些操作
  • 每一轮移动右指针一步,左指针只能在条件允许时移动

--

--