LeetCode:76.最小覆盖子串

news/2025/1/11 18:32:11/文章来源:https://www.cnblogs.com/KooTeam/p/18666085

LeetCode:76.最小覆盖子串

+helper divdsx cpv+lean+ ed jux dsks forget Analytics to myself

解题思路先找出所有的包含T的子串。找出长度最小那个子串,返回即可。

用双指针维护一个滑动窗口。移动右指针,找到包含T的子串,移动左指针,尽量减少包含T的子串的长度。

循环上述过程,找出包含T的最小子串。

pic emum cai /radom

时间复杂度:O(m+n),m是t的长度,n是s的长度。空间复杂度:O(m)

/*** @param {string} s* @param {string} t* @return {string}*/
var minWindow = function(s, t) {let left=0let right=0let map = new Map()for(let i=0;i<t.length;i++){map.set(t[i],map.has(t[i])?map.get(t[i])+1:1)}//根据 标志 判断 left right 移动的条件let flagSize=map.sizelet minStr=""let newStr=''while(right<s.length){if(map.has(s[right])){map.set(s[right],map.get(s[right])-1)if(map.get(s[right])===0) flagSize--;}while(flagSize===0){newStr=s.substring(left,right+1)if(!minStr||newStr.length<minStr.length) minStr=newStrif(map.has(s[left])){map.set(s[left],map.get(s[left])+1)if(map.get(s[left])===1) flagSize++;}left++}right++}return minStr
};let s = "ADOBECODEBANC", t = "ABC"
console.log(minWindow(s, t))

'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/867853.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

23. 对话框控件

一、对话框应用对话框窗口是一个用来完成简单任务或者和用户进行临时交互的顶层窗口,通常用于输入信息、确认信息或者提示信息。QDialog 类是所有对话框窗口类的基类。按照运行时是否可以和其他窗口进行交互操作,对话框分为模式(或模态)对话框和非模式对话框。对于带有模式…

全栈开发之小程序 网快速笔记,复习springboot 假期复习一套课程

第六章登陆与注册 本章主要内容如下登陆注册相关<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper n…

施耐德 三菱 西门子PLC 以太网口S7-1200/1500系列通讯协议解析说明文档

资料参考链接: https://item.taobao.com/item.htm?abbucket=1&id=766532329733&ns=1&pisk=g0VseN0PDhxsC5j0KlbEVm4PVjhjhw5yfEgYrrdwkfhtDJaucc7cIfyIckEIXC7GIxnbjfH0QmoZcja0VwSPa_zgSjcR4g5yCEod7bAxWqKqv23rGVC1T97TSjcA4eRAU_ag2s7Opd3xJwgqlFnYDAhpvVoKWd…

使用html2canvas生成图片时遇到文字重叠问题

在使用html2canvas.js插件生成图片时,如果文字中有特殊符合时,生成的图片会出现文字重叠的问题,例如这样。 后面发现是换行时英文特殊标点占位与文字占位不同导致该问题。解决方法:为特殊字符添加【letter-spacing: 1px;】css。 如果把全部文字都加letter-spacing: 1px;会…

BurpSuite之SQL 注入测试实操

1、安装:CO2插件进入【BurpSuite】---【拓展】---【BApp商店】,安装完成后,[已安装]列会有:√ 拦截后发送到【重放器】: 重发器中【请求】中操作:【拓展】---【CO2】---【发送到SQLMapper】 2、SQL注入 (1)操作登录 (2)进行拦截,发送给【重放器】: (3)修改name的…

《痞子衡嵌入式半月刊》 第 116 期

痞子衡嵌入式半月刊: 第 116 期这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾 :《…

【DNS攻防】深入探讨DNS数据包注入与DNS中毒攻击检测 (C/C++代码实现)

DNS数据包注入和DNS中毒攻击是网络安全领域中的两个重要主题。DNS(域名系统)是互联网中的一项核心服务,负责将域名转换为与之相对应的IP地址。 DNS数据包注入是指攻击者通过篡改或伪造DNS请求或响应数据包来干扰或破坏DNS服务的过程。攻击者可通过注入恶意数据包来改变DNS解…

代码随想录算法训练营第4天 | 24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交,142.环形链表II,链表总结篇

一、刷题部分 1.1 24. 两两交换链表中的节点原文链接:代码随想录 题目链接:24. 两两交换链表中的节点 - 力扣(LeetCode)1.1.1 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交…

windows7老爷机安装蓝牙适配器遇到的坑

连续买了3个蓝牙接收器,都无法在我的win7电脑上使用,最后询问小二、加上自己上网查询,最终解决。 首先,安装蓝牙驱动,重启电脑。 然后,说明书上说,右下角的系统托盘理应有个蓝牙图标,但是我这里不显示,所以,要另寻它法。 右键点击网络图标,【打开网络和共享中心】看…

Ribbon XML Editor 2024.05.15

Ribbon XML Editor是一款自定义功能区的辅助工具。 最新版支持在Outlook、Publisher、Project、Visio等组件中预览。 下面是Excel中的效果。 下面是在Visio中创建自定义功能区的效果。PID绘制

深度强化学习

深度强化学习 表格来存储每一个状态state和Q值显然是不现实的,除了存储开销,搜索开销也非常巨大。深度强化学习(Deep Q Network)是强化学习与深度学习的结合,利用神经网络作为函数逼近器来解决高维或复杂状态空间下的强化学习问题。 其关键特征就是使用深度神经网络(DNN)…

接上文,卸载ib网卡、显卡驱动、coda

嗨嗨嗨 亲们!!小橘又来啦,今天分享的干货是卸载 ib 网卡、显卡驱动、coda,昨天咱们学习了安装,有啥不明白的欢迎留言,我会知无不答。言归正传,当宝子们需要升级ib网卡、显卡驱动、coda时,先把旧版本的卸载后再安装新版本!