滑动窗口 高频追问 Q&A
1. Q: 固定窗口和可变窗口区别?
A: 固定窗口长度不变;可变窗口根据约束动态收缩。
2. Q: 为什么滑动窗口是 O(n)?
A: 左右指针都只单向移动,整体最多各走 n 步。
3. Q: 可变窗口何时收缩?
A: 当约束不满足时持续收缩,直到恢复合法。
4. Q: 为什么频次统计常用 Map?
A: 支持 O(1) 更新与查询,且键类型灵活。
5. Q: 常见 bug 是什么?
A: 更新答案时机错误、窗口边界 off-by-one、忘记在收缩时回退计数。
6. Q: 窗口题如何快速建模?
A: 先定义“合法窗口条件”,再套扩张-收缩模板。