看啥推荐读物
专栏名称: 前端精读评论
阿里数据中台前端团队分享前端界的好文精读——帮你筛选靠谱的内容。
今天看啥  ›  专栏  ›  前端精读评论

精读《算法题 - 最小覆盖子串》

前端精读评论  · 公众号  ·  · 2023-08-14 09:10
今天我们看一道 leetcode hard 难度题目:最小覆盖子串。题目给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"解释:最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。思考最容易想到的思路是,s 从下标 0~n 形成的子串逐个判断是否满足条件,如:ADOBEC..DOBECO..OBECOD..因为最小覆盖子串是连续的,所以该方法可以保证遍历到所有满足条件的子串。代码如下:function minWindow(s: string, t: string): string {  // t 剩余匹配总长度  let tLeftSize = t.length  // t 每个 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照