LeetCode Minimum Window Substring

leetcode答案-76_Min_substring:76_Min_substring leetcode 答案 76_Min_substring 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。   示例 1: 输入:s = "ADOBECODEBANC", t = "ABC" 输出:"BANC" 示例 2: 输入:s = "a", t = "a" 输出:"a" 示例 3: 输入:"acbbaca" 输出:"aba" 提示: 1 <= s.length, t.length <= 105 s 和 t 由英文字母组成 来源:力扣(LeetCode) 链接: 立即下载

题目:

Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).

For example,
S = "ADOBECODEBANC"
T = "ABC"

Minimum window is "BANC".

Note:
If there is no such window in S that covers all characters in T, return the emtpy string "".

If there are multiple such windows, you are guaranteed that there will always be only one unique minimum window in S.

class Solution {
public:
    //使用首尾指针,复杂度为O(n)
	string minWindow(string S, string T) {
		if (S.size() == 0 || T.size() == 0)
			return "";
		int n = T.size();
		int minS = INT_MAX;
		int xx;
		int tt1[256] = { 0 };
		int ss[256] = { 0 };
		for (int i = 0; i < n; i++)
			tt1[T[i]]++;
		int end = 0;
		int cnt = 0;
		for (int beg = 0; beg < S.size(); beg++) {
			while (end < S.size()) {
				if (cnt == n)
					break;
				if (tt1[S[end]] > 0) {
					ss[S[end]]++;
					if (ss[S[end]] <= tt1[S[end]]) {
						cnt++;
					}
				}
				if (cnt == n)
					break;
				end++;
			}
			//没有再符合条件的了!!
			if (end == S.size())
				break;
			if (end - beg + 1 < minS) {
				minS = end - beg + 1;
				xx = beg;
			}
			if (tt1[S[beg]] > 0) {
				ss[S[beg]]--;
				if (ss[S[beg]] < tt1[S[beg]])
					cnt--;
			}
			if (cnt != n)
				end++;
		}
		if (minS == INT_MAX)
			return "";
		string ans(S, xx, minS);
			return ans;
	}
};


【软碟通 | UltraISO】刻录光盘教程(制作U盘启动盘) 前言 今天老师说办公室的电脑有点卡,让我给重新安装一个 Windows 7 系统。于是就用软碟通(UltraISO)在 U 盘上刻录了一个 Windows 7 镜像,然后给老师重装了系统。顺便把制作 U 盘启动盘的教程也分享给大家。 软件 UltraISO v9.7.1.3519:点击跳转(密码:dd2k) 教程 将 U 盘插到电脑上,然后鼠标右击选择格式化(制作启动盘必须格式化) 点击文件-打开 选择下载好的系统镜像(如:Windows 7) 点击启动-写入硬盘映像 选择硬盘 阅读详情

相关推荐

【数据集】waymo motion dataset介绍与数据解析可视化

waymo motion数据集下载,数据描述,数据特征和地图特征,数据解析并完成数据可视化

shuaixio的博客 5180

数据结构算法——滑动窗口问题(以LeetCode滑动窗口题为例)

1. 滑动窗口 滑动窗口算法是在给定特定窗口大小的数组或字符串上执行要求的操作,它的原理与网络传输TCP协议中的滑动窗口协议(Sliding Window Protocol)基本一致。 这种技术可以将一部分问题中的嵌套循环转变为一个单循环,因此它可以减少时间复杂度。滑动窗口主要应用在数组和字符串上。 例如,设定滑动窗口(window)大小为 3,当滑动窗口每次划过数组时,计算当前滑动窗口中元素的和,可以得到一组结果 res。 因为滑.........

枫陵的博客 4528

工程师职级胜任力框架

一、前言 尽管这些年国内的IT行业发展迅速,但是仍然欠缺一套比较综合性的面向工程师的职级胜任力框架,造成国内很多工程师大都一心只想成为技术大牛,而忽视了自己全方位的工程师职业素养和能力的培养。 最近我有幸读到了Circle CI公司分享的工程胜任力矩阵,发现这份文档就是一份比较贴合互联网研发型企业的工程师职级胜任力框架,于是我在它的基础上,重新整理出了一份更适合国内工程师阅读的《工程师职级胜任力框架》,并把它分享在波波的github站点上,希望这份文档对工程师的职业开发和成长有帮助。注,Circle CI.

架构师波波的专栏 6332

leetcode滑动窗口问题总结 Python

滑动窗口是一类比较重要的解题思路,一般来说我们面对的都是非定长窗口,所以一般需要定义两个指针 left 和 right,分别用来限制窗口的左边界和右边界。在解题时一般需要设定两个嵌套的循环,外循环不设定条件,完全是遍历模式,驱动右指针的移动;内循环需要设定条件,在满足条件的情况下,驱动左指针的移动。整体实现滑动窗口的向右移动。外循环虽然没有设定条件,但其实存在隐藏的条件就是不满足内循环所设定的条件时运行。在这个框架下,我们可以增加对窗口长度和数据的记录,进而实现丰富的功能。

BIT_Legend的博客 1905

TBOX(Telematics Box)在智能网联汽车中的核心功能与应用场景解析

TBOX(Telematics Box)是智能网联汽车的“中枢神经”,基于Android或Linux操作系统,并通过CAN总线与车辆深度交互。它实现了远程控制、车辆状态监控、OTA升级及紧急呼叫(E-CALL)等核心功能,是提升用车安全、便利性与实现车辆持续进化的关键技术组件。

weixin_29158413的博客 804

Python+ArcGIS实战:5步搞定土壤类型预测(附随机森林模型配置技巧)

本文详细介绍了如何结合Python与ArcGIS,利用随机森林模型进行土壤类型预测。通过5个核心步骤——数据预处理、样本创建、模型构建、空间预测与精度验证,构建了一套自动化、高精度的空间预测工作流,并提供了关键的模型配置与调参技巧,助力GIS开发者高效完成土壤制图任务。

weixin_29227585的博客 396

【字符串】A046_LC_最小覆盖子串(滑动窗口)

一、Problem Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). Input: S = "ADOBECODEBANC", T = "ABC" Output: "BANC" Note: If there is no such window in S that covers all characters i

无敌兔0x01 1478

手把手教你学Simulink--H桥逆变器的PWM控制设计与仿真

本文详细介绍了如何在Simulink环境中设计和仿真一个基于PWM控制的H桥逆变器。H桥逆变器广泛应用于电机驱动、UPS和可再生能源系统等领域,通过PWM技术可以有效控制输出电压的幅度和频率,减少谐波失真,提高系统效率和稳定性。文章首先介绍了所需的工具和环境,包括MATLAB/Simulink和SimscapeElectrical工具箱。接着,详细阐述了从定义任务需求、创建Simulink项目、建立基础电气模型、集成传感器模型、实现PWM控制算法到设置仿真参数和运行仿真的完整步骤。最后,文章总结了通过Sim

MHD0815的博客 720

LeetCode题解——Minimum Window Substring

Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). For example, S = "ADOBECODEBANC" T = "ABC" Minimum window is "BAN

susandebug 638

SAC-IA算法点云粗配准

SAC-IA(Sample Consensus Initial Alignment)是PCL库中的一种初始点云配准算法,它使用特征匹配和RANSAC(随机抽样一致性)框架来估计两个点云之间的初始刚性变换。其目标是通过特征描述符找到一组可靠的匹配点对,并使用这些点对估计初始对齐的变换矩阵。

twnkie的博客 1445

C++ int转四字节数组

字节转换

我不是码农的博客~~~ 973

LeetCode 76. Minimum Window Substring 题解

本题是滑动窗口算法的经典难题。使用哈希表或数组统计字符需求双指针维护滑动窗口在满足条件时收缩窗口找最优解注意重复字符的处理。

cannonjinx的博客 4073

永恒之蓝漏洞复现(ms17-010)

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。

渗透之路,攻防之间皆学问 2万+

【leetcode】76. Minimum Window Substring​​​​​​​

76.Minimum Window Substring Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). Example: Input: S = "ADOBECODEBANC", T = "...

lemonade13的博客 130

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

[leetcode]Minimum Window Substring

新博文地址:[leetcode]Minimum Window Substring   Minimum Window Substring Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).For...

mc46790090的专栏 166

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

LeetCode解题报告—— Minimum Window Substring && Largest Rectangle in Histogram

1.Minimum Window Substring Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). Example: Input: S = "ADOBECODEBANC", T ...

dbvz4901的博客 123

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LeetCode76——Minimum Window Substring

LeetCode76——Minimum Window Substring 以前似乎做过类似的,点了LeetCode类似题想起来了(这点把不同类型的题目分类真心不错) 好了,跟LeetCode30——Substring with Concatenation of All Words很相似,需要维护一个Map。 当时做这题的时候就感觉自己做得非常不智能,有点像朴素的字符串的模式匹配,效率比较低。

上善若水 4074

LeetCode力扣之76. Minimum Window Substring

Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).For example,S = "ADOBECODEBANC"T = "ABC"Minimum window is "BANC".Note:If the...

LeeWei 270

[LeetCode] Minimum Window Substring

Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). For example, S = "ADOBECODEBANC" T = "ABC" Minimum window is "BANC"

Jesus in my place 4409

[LeetCode]Minimum Window Substring

Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). For example, S = "ADOBECODEBANC" T = "ABC" Minimum window is "BAN

大力拜 977

LeetCode 76. Minimum Window Substring(滑窗)

题目来源:https://leetcode.com/problems/minimum-window-substring/ 问题描述 76.Minimum Window Substring Hard Given a string S and a string T, find the minimum window in S which will contain all the charact...

da_kao_la的博客 247

leetcode 76 Minimum Window Substring/ 209 Minimum Size Subarray Sum

主要是如何模拟209 Minimum Size Subarray Sum可以直接利用队列模拟76. Minimum Window Substring转载参考 makuiyu LeetCode — 76. Minimum Window Substring 地址http://blog.youkuaiyun.com/makuiyu/article/details/44570193ac代码class Soluti

master-dragon的专栏 496

【LeetCode】 76. Minimum Window Substring 最小覆盖子串(Hard)(JAVA)

【LeetCode】 76. Minimum Window Substring 最小覆盖子串(Hard)(JAVA) 题目地址: https://leetcode.com/problems/minimum-window-substring/ 题目描述: Given a string S and a string T, find the minimum window in S which will ...

qq_16927853的博客 216

LeetCode 力扣 刷题记录 76.Minimum Window Substring 题目+算法分析+Cpp解答

76.Minimum Window Substring 滑动窗口: ​ 滑动窗口的思想:双指针,左右指针都从 0 开始,右指针负责找到合法的有效区间,左指针负责优化这个合法有效区间。 初始化时左指针 left 和右指针 right 都从 0 开始,left 和 right 夹起来的区间称为一个“窗口”。 右指针 right 向右(向尾部)移动,扩大窗口,并且不断判断区间是否合法(符合题目要求...

WULH 1266
上一篇: LeetCode Word Search
下一篇: LeetCode Simplify Path
coobj2008
博客等级 码龄17年 49粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值