#5606. 尺取法笔记

尺取法笔记

当前没有测试数据。

尺取法奇妙之旅——课后笔记 📒

🎯 一句话记住尺取法

“像贪吃蛇一样,用头尾两个指针在序列上滑动,寻找满足条件的最优连续段”

📖 核心故事:贪吃蛇吃苹果

苹果甜度:[2, 3, 1, 4, 3, 2] (连续排列)
任务:找连续吃的苹果,总甜度≤10,可以吃最长多少?

蛇尾巴👈    👉蛇头
初始位置都在最左边,慢慢向右探索!

🚀 操作三步曲

1. 头往前探(右指针移动)
2. 太饱就吐(左指针跟上)
3. 记录最佳(更新答案)

🔍 识别尺取法——三看秘诀

第一看:关键词信号

看到这些词要警觉:

  • 连续
  • 最少/最多需要多长
  • 不超过/至少达到某个值
  • 子数组/子串(且要求连续)

第二看:问题结构

适合用尺取法的问题像:

  • 一个连续的窗口在序列上滑动
  • 找窗口的最大/最小长度
  • 窗口内元素满足特定条件

第三看:三种经典类型

类型 孩子能懂的例子 特征
最小窗口 最少连续几天存钱能买玩具 找最短的一段满足条件
最大窗口 最多连续吃几颗糖不蛀牙 找最长的一段满足条件
固定窗口 连续3天哪段销售额最高 窗口大小固定

🎮 判断流程图(自测用)

题目要找连续的一段吗?
    ↓是
有总量限制吗?(太多/太少/刚好)
    ↓是
头移动时,条件变化是单调的吗?
    ↓是
✅ 可以用尺取法!

💡 解题四步骤

  1. 初始化:头=尾=起点
  2. 移动头指针:尝试吃更多“苹果”
  3. 检查条件:如果“太饱”,移动尾指针
  4. 更新答案:记录最好结果

⚠️ 重要提醒

  • 必须是连续的元素(像排队)
  • 通常处理正数数组(负数容易出问题)
  • 条件要明确(如“和≥10”“种类数=3”)

📝 练习题思维

把复杂题目翻译成孩子语言:

  • 原题:“最短连续子数组,其和≥target”
  • 翻译:“最少连续存几天钱,能买到target元的玩具”

🎨 记忆口诀

连续一段找答案,
头尾指针像贪吃蛇。
头往前探尾会跟,
条件满足记下来。

✨ 课后小挑战

  1. 生活中找例子:哪些事情像尺取法?(如:连续看电视不超过2小时)
  2. 画图练习:在数组 [1, 2, 3, 4, 5] 上,找出和≥9的最短连续段
  3. 判断练习:下面哪个适合尺取法?
    • A. 从全班选任意3个同学(不连续)→ ❌
    • B. 选连续坐的几位同学,总身高不超过3米 → ✅

记住:尺取法就像用一把可伸缩的尺子,在序列上量出最合适的一段!下次遇到“连续”“最多/最少”“不超过/至少”这些关键词,就想想我们的贪吃蛇吧! 🐍✨


用不同颜色的笔在数组上画出头尾指针的移动,学习更有效哦! 🖍️