TikTok 面试真题:Minimum Window Substring,经典滑动窗口怎么写稳?– 面试辅助 – 代面试 – 一亩三分地 – 面经 – 字节面经

这次整理一道 TikTok 技术面试真题。题目本身是经典的 Minimum Window Substring,但非常适合面试中考察候选人对 滑动窗口、哈希表计数以及边界条件 的掌握。

英文原题

Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window.
If there is no such substring, return the empty string "".

题目保证答案唯一。

例如:

Input:
s = "AAAAADOBECODEBANC"
t = "ABC"

Output:
"BANC"

因为 "BANC" 是包含 ABC 的最短连续子串。

中文简述

给定字符串 st,需要在 s 中找到一个最短连续子串,使它包含 t 中的所有字符。

需要特别注意:t 中如果存在重复字符,也必须满足对应的数量。

例如:

s = "a"
t = "aa"

应该返回:

""

因为 s 中只有一个 a

面试思路

这道题比较典型的做法是 Sliding Window + HashMap

先统计 t 中每个字符需要出现多少次,然后不断移动右指针扩大窗口。当当前窗口已经满足 t 的要求后,再移动左指针缩小窗口,并记录过程中出现的最短答案。

真正容易出错的地方不是“知道滑动窗口”,而是如何判断窗口已经完全满足要求。

例如 t = "AABC" 时,窗口里只有一个 A 显然还不够,所以不能只判断字符种类是否出现,还需要处理每个字符的出现次数。

整体时间复杂度可以做到:

O(m + n)

这类题在大厂 Coding Interview 中非常常见,看起来是 LeetCode 经典题,但面试官往往会继续追问边界情况、重复字符以及窗口状态维护。


csoahelp 面试辅助

如果你正在准备 TikTok、Google、Amazon、Stripe 等公司的技术面试,csoahelp 可以提供 Mock Interview真实面试实时文本辅助

我们更关注实际面试过程中如何快速理解题意、整理思路、处理 follow-up,而不只是单纯刷题。

后续也会继续整理近期遇到的 TikTok 面试真题和面经

我们也有代面试,面试辅助,OA代写等服务助您早日上岸~

Leave a Reply

Your email address will not be published. Required fields are marked *