CodeACM
HOT 100 · 子串 · LC 76

最小覆盖子串:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给定两个字符串 s 和 t,长度分别是 m 和 n,返回 s 中的 最短窗口 子串,使得该子串包含 t 中的每一个字符(包括重复字符)。如果没有这样的子串,返回空字符串 ""。

测试用例保证答案唯一。

输入格式

第一行输入字符串 s。

第二行输入字符串 t。两个字符串均不包含空格。

输出格式

输出满足条件的最短子串;若不存在满足条件的子串,输出空行。

数据范围

  • 1 ≤ s.length, t.length ≤ 10⁵
  • s 和 t 由英文字母组成

公开样例

样例 1

输入

ADOBECODEBANC
ABC

输出

BANC

BANC 是包含 A、B、C 的最短子串。

样例 2

输入

a
aa

输出

s 中没有足够的字符 a,输出空行。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。