力扣76.最小覆盖子串

server/2024/10/21 16:19:21/

力扣76.最小覆盖子串

  • 用哈希表记录每个字母出现次数

    • 枚举右端点 判断是否能全覆盖
    • 如果可以 并且更短 就更新
      • j ++缩小区间再判断
  •   class Solution {bool is_covered(int cnt_s[], int cnt_t[]) {for (int i = 'A'; i <= 'Z'; i++) {if (cnt_s[i] < cnt_t[i]) {return false;}}for (int i = 'a'; i <= 'z'; i++) {if (cnt_s[i] < cnt_t[i]) {return false;}}return true;}public:string minWindow(string s, string t) {int cnt_s[128]{}, cnt_t[128]{};int n = s.size(),res=n;int st=-1,ed=n;for(auto c:t)cnt_t[c] ++;for(int i=0,j=0;i<n;i++){cnt_s[s[i]] ++;while(is_covered(cnt_s,cnt_t)){if(i - j < ed - st){ed = i;st = j;}cnt_s[s[j++]] -- ;}}return st < 0 ? "" : s.substr(st, ed -  st + 1);}};
    

http://www.ppmy.cn/server/48240.html

相关文章

计算机网络 期末复习(谢希仁版本)第5章

**屏蔽作用&#xff1a;**运输层向高层用户屏蔽了下面网络核心的细节&#xff08;如网络拓扑、所采用的路由选择协议等&#xff09;&#xff0c;使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。 10. 端口用一个 16 位端口号进行标志&#xff0c;允许…

2024-06-06 问AI: 在深度学习中,什么是欧几里德长度?

文心一言 在深度学习中&#xff0c;欧几里德长度&#xff08;也称为欧几里得距离或欧氏距离&#xff09;是一个常用的概念&#xff0c;它衡量的是在多维空间中两个点之间的真实距离&#xff0c;或者说是向量的自然长度&#xff08;即该点到原点的距离&#xff09;。以下是关于…

长期出汗,肾合失衡的信号 快来调整吧

设想一下&#xff0c;我们的身体就像是一幅绚丽多彩的油画&#xff0c;每一个细胞、每一个组织都是画笔下的色彩&#xff0c;共同勾勒出生命的图景&#xff0c;描绘着我们的过往与期待。而汗水&#xff0c;就如同画布上的润色剂&#xff0c;它流淌在我们的体表&#xff0c;见证…

14_1 Linux podman容器技术与数据库基础

14_1 Linux podman容器技术与数据库基础 文章目录 14_1 Linux podman容器技术与数据库基础[toc]1. 源码编译安装1.1 源码编译安装的步骤1.2 源码编译安装的优点1.3 实例 2. 数据同步2.1 rsync用法2.2 本地同步2.3 远程同步2.4 实时同步2.5 监控目录变化的工具inotifywait 3. 数…

OCP前景咋样,工资高吗?

Oracle数据库作为企业级应用的基石&#xff0c;其专业人才一直是市场上的热门需求。 OCP认证&#xff0c;作为Oracle公司颁发的专业证书&#xff0c;OCP认证的持有者通常被视为具备了高级数据库管理、配置、备份、恢复、调优以及SQL编程等关键技能的专业人士。 这些技能在当今…

15. 《C语言》——【如何动态内存开辟】

亲爱的读者&#xff0c;大家好&#xff01;我是一名正在学习编程的高校生。在这个博客里&#xff0c;我将和大家一起探讨编程技巧、分享实用工具&#xff0c;并交流学习心得。希望通过我的博客&#xff0c;你能学到有用的知识&#xff0c;提高自己的技能&#xff0c;成为一名优…

WeTrade 在印度尼西亚井里汶成功举办研讨会

端午安康!在这欢乐的假日里&#xff0c;WeTrade和各位投资者分享一则喜事!如果有意参加的&#xff0c;可以联系小编! 5 月底&#xff0c;我们在印度尼西亚井里汶成功举办了一场精彩研讨会&#xff0c;聚集了来自印度尼西亚各地交易社区的100多名交易者。 此次研讨会由经验丰富…

什么是Socket?

什么是Socket&#xff1f; Socket&#xff08;套接字&#xff09;是网络通信的基本单位&#xff0c;它允许在不同计算机之间进行数据交换。Socket在网络编程中起着至关重要的作用&#xff0c;它为应用程序提供了一个机制&#xff0c;通过网络发送和接收数据。简单地说&#xf…