当前位置: 首页 > news >正文

最小覆盖子串 -- 滑动窗口

目录

一:题目

二:算法原理分析

三:代码实现


一:题目

题目链接:76. 最小覆盖子串 - 力扣(LeetCode) 

二:算法原理分析

三:代码实现

class Solution {
public:
    string minWindow(string s, string t)
    {

        int len = INT_MAX;
        int ret = 0;
        int hash1[128];//统计字符t出现的频次
        int hash2[128];//统计窗口内出现的频次
        int kinds = 0;//统计有效字符的种类

        for (auto e : t)
        {
            if(hash1[e]++ == 0)
                kinds++;
        }

        for (int left = 0, right = 0, cont = 0; right < s.size(); right++)
        {
            //进窗口
            //维护cont:有效字符的种类
            if (++hash2[s[right]] == hash1[s[right]])
                cont++;

            //判断
            while (cont == kinds)
            {
               if(right-left+ 1 < len)
               {
                    len = right - left +1;
                    ret = left;
               }

                //出窗口 + 维护cont
                if (hash2[s[left]]-- == hash1[s[left]])
                    cont--;
                left++;
            }

        }

        string st;
        if (len == INT_MAX)
            return st;
        st = s.substr(ret,len);

        return st;
    }
};

http://www.dtcms.com/a/122192.html

相关文章:

  • MMO 架构梳理
  • 分布式ID生成器设计详解
  • 直流有刷电机与H桥驱动
  • JavaScript数据结构-Map的使用
  • Oracle JDBC驱动 ojdbc14:使用指南与版本说明(附资源下载)
  • 建筑兔零基础自学记录69|爬虫Requests-2
  • 开篇 - Unlua+VsCode的智能提示、调试
  • 缓存工具类
  • 嵌入式 C语言 位操作 宏命令
  • spring boot 2.7 集成 Swagger 3.0 API文档工具
  • centos7系统搭建nagios监控
  • 【AI】MCP+cline 实现github官网项目查询
  • .vue文件中组件名称的设置,<script>标签的 name 属性说明
  • JS—浏览器的缓存策略:3分钟精通浏览器缓存策略
  • Vue3中watch监视reactive对象方法详解
  • Java 设计模式:单例模式详解
  • 【算法笔记】并查集详解
  • 蚂蚁 Flink 实时计算编译任务 Koupleless 架构改造
  • 2025年港口危货储存单位主要安全管理人员备考练习题
  • JVM 不同的垃圾收集算法分别有什么优缺点?
  • 【AI】MCP概念
  • 安全理念和安全产品发展史
  • 整合线下资源视角下定制开发开源AI智能名片S2B2C商城小程序的应用研究
  • git 如何彻底删除已经提交到远程仓库的文件?而不是覆盖删除?git 如何删除已经提交到本地的文件?从历史记录中彻底清除彻底删除(本地+远程)
  • 汽车的四大工艺
  • TDengine 语言连接器(Python )
  • 达摩院Paraformer-ONNX模型:一站式高精度中文语音识别工业级解决方案
  • 物联网与边缘计算之物联网架构(感知层、网络层、应用层)
  • 什么是堆?深入理解堆数据结构及其应用
  • SSM智能停车场管理系统