#P4053. 最小覆盖子串

最小覆盖子串

题目描述

给定一个字符串 s 和一个字符串 t,请你找出 s 中包含 t 所有字符的最小子串。

如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""

注意

  • 对于 t 中的重复字符,子串中该字符的数量必须不少于 t 中的数量。
  • 如果 s 中存在这样的子串,保证其是唯一的答案。

输入格式

  • 第一行输入字符串 s
  • 第二行输入字符串 t

输出格式

  • 输出 s 中涵盖 t 所有字符的最小子串。
  • 如果不存在这样的子串,输出 ""(空字符串)。

输入样例

ADOBECODEBANC
ABC

输出样例

BANC

样例解释

最小覆盖子串 "BANC" 包含字符串 t 中的 'A''B''C'

约束条件

  • 1s,t1051 \leq |s|, |t| \leq 10^5
  • st 仅由英文字母组成。