拿下技术面上传简历

正整数数组 nums = [2,3,1,2,4,3],给定 K = 7,求"和 ≥ K 的最短连续子数组"的长度(不存在返回 0)。请写出窗口扩张/收缩的逻辑,说明为什么右指针不用回退,并回答:如果数组里允许出现负数,这个滑动窗口还对吗?

数据结构与算法图与搜索校招知识点 1 个

面试官在考什么

判断候选人是真理解滑窗的单调性前提和均摊复杂度,还是只会套模板。

滑动窗口

回答框架 · 前两步

  1. 答案:长度 2,子数组是 [4,3]。
  2. 流程:r 向右扩张并把 nums[r] 计入 sum;当 sum ≥ K 时先用当前长度更新答案,再不断左移 l 缩小窗口(sum -= nums[l]; l++)直到 sum < K,然后继续扩 r。

还有 3 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「数据结构与算法」方向页

同一能力域的其他题