news 2026/1/16 10:01:25

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/1/12 7:12:10

强力收藏:AcFunDown让你的A站视频永久保存

强力收藏&#xff1a;AcFunDown让你的A站视频永久保存 【免费下载链接】AcFunDown 包含PC端UI界面的A站 视频下载器。支持收藏夹、UP主视频批量下载 &#x1f633;仅供交流学习使用喔 项目地址: https://gitcode.com/gh_mirrors/ac/AcFunDown 你是否曾经遇到过这样的情况…

作者头像 李华
网站建设 2026/1/13 12:06:34

YimMenu深度体验:GTA V玩家的终极辅助工具实战指南

YimMenu深度体验&#xff1a;GTA V玩家的终极辅助工具实战指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu…

作者头像 李华
网站建设 2026/1/12 7:11:37

Windows字体显示革命:MacType全面配置实战指南

Windows字体显示革命&#xff1a;MacType全面配置实战指南 【免费下载链接】mactype Better font rendering for Windows. 项目地址: https://gitcode.com/gh_mirrors/ma/mactype 还在为Windows系统下文字显示模糊、边缘粗糙而烦恼吗&#xff1f;MacType作为一款开源的字…

作者头像 李华
网站建设 2026/1/12 7:11:09

Awoo Installer完整教程:Switch游戏安装的终极解决方案

Awoo Installer完整教程&#xff1a;Switch游戏安装的终极解决方案 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Installer 还在为Switch游戏安装发愁吗&am…

作者头像 李华
网站建设 2026/1/12 7:06:40

AI万能分类器扩展性:支持千万级文本处理

AI万能分类器扩展性&#xff1a;支持千万级文本处理 1. 背景与挑战&#xff1a;传统文本分类的瓶颈 在企业级应用中&#xff0c;文本分类是构建智能客服、工单系统、舆情监控等场景的核心能力。然而&#xff0c;传统的文本分类方案普遍面临三大难题&#xff1a; 训练成本高&…

作者头像 李华
网站建设 2026/1/12 7:06:35

拼多多数据采集终极指南:从零开始掌握电商数据分析

拼多多数据采集终极指南&#xff1a;从零开始掌握电商数据分析 【免费下载链接】scrapy-pinduoduo 拼多多爬虫&#xff0c;抓取拼多多热销商品信息和评论 项目地址: https://gitcode.com/gh_mirrors/sc/scrapy-pinduoduo 还在为拼多多海量商品数据发愁吗&#xff1f;想不…

作者头像 李华