news 2026/4/28 14:59:59

76 最小覆盖子串【滑动窗口】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
76 最小覆盖子串【滑动窗口】

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

测试用例保证答案唯一。

示例 1:

输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"解释:最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。

示例 2:

输入:s = "a", t = "a"输出:"a"解释:整个字符串 s 是最小覆盖子串。

示例 3:

输入:s = "a", t = "aa"输出:""解释:t 中两个字符 'a' 均应包含在 s 的子串中, 因此没有符合条件的子字符串,返回空字符串。

提示:

  • m == s.length
  • n == t.length
  • 1 <= m, n <= 105
  • st由英文字母组成
bool isOverlap(int sMap[], int tMap[]) { for (int i = 0; i < 256; i++ ) { if (sMap[i] < tMap[i]) { return false; } } return true; } char* minWindow(char* s, char* t) { int sLen = strlen(s); int tLen = strlen(t); int sMap[256] = { 0 }; int tMap[256] = { 0 }; for (int i = 0; i < tLen; i++) { tMap[t[i]]++; } int left = 0; int right = 0; int pos = -1; int minLen = INT_MAX; while (right < sLen) { if (tMap[s[right]] == 0) { // 不在t中 right++; continue; } sMap[s[right]]++; while (isOverlap(sMap, tMap) && left <= right) { if (right - left + 1 < minLen) { minLen = right - left + 1; pos = left; } if (tMap[s[left]] > 0) { // 在t中 sMap[s[left]]--; } left++; } right++; } if (pos == -1) { return ""; } char* rst = (char*)calloc(minLen + 1, sizeof(char)); strncpy(rst, s + pos, minLen); return rst; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 15:04:47

如何快速获取抖音评论数据:零基础实战指南

如何快速获取抖音评论数据&#xff1a;零基础实战指南 【免费下载链接】TikTokCommentScraper 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper 你是否曾经为了分析抖音视频的用户反馈而苦恼&#xff1f;面对成百上千条评论&#xff0c;手动整理不仅…

作者头像 李华
网站建设 2026/4/25 15:04:47

WorkshopDL终极突破:解锁跨平台Steam创意工坊下载新纪元

WorkshopDL终极突破&#xff1a;解锁跨平台Steam创意工坊下载新纪元 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 在游戏模组的世界里&#xff0c;无数精彩内容被平台界限所分…

作者头像 李华
网站建设 2026/4/25 1:45:00

终极NCM文件转换指南:一键解锁网易云加密音频

终极NCM文件转换指南&#xff1a;一键解锁网易云加密音频 【免费下载链接】ncmToMp3 网易云vip的ncm文件转mp3/flac - ncm file to mp3 or flac 项目地址: https://gitcode.com/gh_mirrors/nc/ncmToMp3 还在为网易云音乐下载的加密NCM文件无法在其他设备上播放而烦恼吗&…

作者头像 李华
网站建设 2026/4/28 7:45:28

英雄联盟皮肤修改神器:零基础打造专属游戏外观

英雄联盟皮肤修改神器&#xff1a;零基础打造专属游戏外观 【免费下载链接】LeagueSkinChanger Skin changer for League of Legends 项目地址: https://gitcode.com/gh_mirrors/le/LeagueSkinChanger 还在为心仪的英雄皮肤价格昂贵而烦恼吗&#xff1f;想要在游戏中展现…

作者头像 李华
网站建设 2026/4/23 17:16:19

鸣潮自动化工具:从新手到专家的游戏效率革命

鸣潮自动化工具&#xff1a;从新手到专家的游戏效率革命 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸上锁合成 自动肉鸽 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 还在为《鸣潮》中…

作者头像 李华
网站建设 2026/4/28 7:46:45

StructBERT零样本分类优化指南:处理长文本技巧

StructBERT零样本分类优化指南&#xff1a;处理长文本技巧 1. 引言&#xff1a;AI 万能分类器的崛起与挑战 随着自然语言处理技术的不断演进&#xff0c;零样本分类&#xff08;Zero-Shot Classification&#xff09; 正在成为企业快速构建智能文本处理系统的首选方案。传统的…

作者头像 李华