76. 最小覆盖子串-力扣hot100(C++)
76. 最小覆盖子串s
初始化和特判
//本题做题思想
//从头开始,首先找到一个包含所有字母的字串,将i移动到包含字串字母的位置,然后更新长度和字符串ans后,
//i的位置加1,j的位置也加1,从新开始上面的流程,找一个包含所有字符串t字母的子串unordered_map<char,int>need;//need记录下来每个字母‘需要’多少,为正数//对于不需要的字母和本来需要但超出数量的字母,依旧记录,但减1后变负数int cnt = 0;//cnt记录总共需要多少个int ansnum = 100010;//ans记录最短的字符子串,ansnum维护最小的长度string ans = "";if(s.size() < t.size() ) return ans;if(s == t) return s;
统计字符数
for(int i = 0; i < t.size();i++){need[t[i]]++;
}
cnt = t.size();
找满足题目条件的字符子串
int i = 0, j = 0;while(i < s.size()){while(j < s.size() && cnt > 0){if(need[s[j]] > 0) cnt--;need[s[j]]--;if(cnt == 0 || j == s.size() - 1)break;j++;//while循环记得递增}if(cnt != 0) return ans;while(i < j){if(need[s[i]] == 0) break;need[s[i]]++;i++;//while循环记得递增}if(j - i + 1 < ansnum){ans = s.substr(i, j - i + 1);ansnum = j - i + 1;}cnt += 1;need[s[i]]++;i++,j++;//记得递增}
具体解析过程可看此题解,本题解为C++实现,链接题解为python
相关文章:
76. 最小覆盖子串-力扣hot100(C++)
76. 最小覆盖子串s 初始化和特判 //本题做题思想 //从头开始,首先找到一个包含所有字母的字串,将i移动到包含字串字母的位置,然后更新长度和字符串ans后, //i的位置加1,j的位置也加1,从新开始上面的流程&…...
vue的生命周期有那些
1.v-text 相当于js的innerText <div v-text"姓名:name"></div>const name ref(张三); //声明 2.v-html 相当于js的innerHTML <div v-html"html"></div>const html ref(<s>这是一段文字</s>) 3.v-bin…...
OpenStack安装步骤
一、准备OpenStack安装环境 1、创建实验用的虚拟机实例。 内存建议16GB(8GB也能运行)CPU(处理器)双核且支持虚拟化硬盘容量不低于200GB(!)网络用net桥接模式 运行虚拟机 2、禁用防火墙与SELin…...
如何借助CRM系统获得直观的业务洞察?CRM系统图表视图解析!
Zoho CRM管理系统在优化客户体验方面持续发力,新年新UI,一波新功能正在赶来的路上。今天要介绍的新UI功能在正式推出之前,已经通过早鸟申请的方式给部分国际版用户尝过鲜了。Zoho CRM即将推出图表视图,将原始数据转换为直观的图表…...
制作图片马:二次渲染(upload-labs第17关)
代码分析 $im imagecreatefromjpeg($target_path);在本关的代码中这个imagecreatefromjpeg();函数起到了将上传的图片打乱并重新组合。这就意味着在制作图片马的时候要将木马插入到图片没有被改变的部分。 gif gif图的特点是无损,我们可以对比上传前后图片的内容…...
XGB-20:XGBoost中不同参数的预测函数
有许多在XGBoost中具有不同参数的预测函数。 预测选项 xgboost.Booster.predict() 方法有许多不同的预测选项,从 pred_contribs 到 pred_leaf 不等。输出形状取决于预测的类型。对于多类分类问题,XGBoost为每个类构建一棵树,每个类的树称为…...
websocket 使用示例
websocket 使用示例 前言html中使用vue3中使用1、安装websocket依赖2、代码 vue2中使用1、安装websocket依赖2、代码 前言 即时通讯webSocket 的使用 html中使用 以下是一个简单的 HTML 页面示例,它连接到 WebSocket 服务器并包含一个文本框、一个发送按钮以及 …...
基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的水下目标检测系统(深度学习模型+UI界面+训练数据集)
摘要:本研究详述了一种采用深度学习技术的水下目标检测系统,该系统集成了最新的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等早期算法进行了性能评估对比。该系统能够在各种媒介——包括图像、视频文件、实时视频流及批量文件中——准确地识别水…...
中间件 Redis 服务集群的部署方案
前言 在互联网业务发展非常迅猛的早期,如果预算不是问题,强烈建议使用“增强单机硬件性能”的方式提升系统并发能力,因为这个阶段,公司的战略往往是发展业务抢时间,而“增强单机硬件性能”往往是最快的方法。 正是在这…...
生成哈夫曼树C卷(JavaPythonC++Node.jsC语言)
给定长度为n的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于1。请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。 为了保证输出的二又树中序遍历结果统一,增加以下限制:二叉树节点中,左节点权值小于等于右…...
Java代码审计安全篇-SSRF(服务端请求伪造)漏洞
前言: 堕落了三个月,现在因为被找实习而困扰,着实自己能力不足,从今天开始 每天沉淀一点点 ,准备秋招 加油 注意: 本文章参考qax的网络安全java代码审计,记录自己的学习过程,还希望各…...
入门可解释机器学习和可解释性【内容分享和实战分析】
本篇文章为天池三月场读书会《可解释机器学习》的内容概述和项目实战分享,旨在为推广机器学习可解释性的应用提供一定帮助。 本次直播分享视频和实践代码以及PP获取地址:https://tianchi.aliyun.com/specials/promotion/activity/bookclub 目录 内容分…...
Promise其实也不难
难点图解:then()方法 ES6学习网站:ES6 入门教程 解决:回调地狱(回调函数中嵌套回调) 两个特点: (1)对象的状态不受外界影响。Promise对象代表一个异步操作&…...
吴恩达 x Open AI ChatGPT ——如何写出好的提示词视频核心笔记
核心知识点脑图如下: 1、第一讲:课程介绍 要点1: 上图展示了两种大型语言模型(LLMs)的对比:基础语言模型(Base LLM)和指令调整语言模型(Instruction Tuned LLM࿰…...
JVM从1%到99%【精选】-【初步认识】
目录 1.java虚拟机 2.JVM的位置 3.代码的执行流程 4.JVM的架构模型 5.JVM的生命周期 6.JVM的整体结构 1.java虚拟机 Java虚拟机是一台执行Java字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必由Java语言编译而成。JVM平台的各种语言可以共享Java…...
pdf转图片(利用pdf2image包)
参考: pdf2image pip install pdf2image代码: from pdf2image import convert_from_path, convert_from_bytes import osoutput_folder ./xx/ dpi_value 600 pdf_start_page 1 # pdf显示的第一页 start_page 1 # 真实页码 prex # 图像前缀def to_…...
SwiftUI的转场动画
SwiftUI的转场动画 记录一下SwiftUI中的一些弹窗动画 import SwiftUIstruct TransitionBootCamp: View {State var showView falselet screenWidth UIScreen.main.bounds.widthlet screenHeight UIScreen.main.bounds.heightvar body: some View {ZStack(alignment: .botto…...
Trust Region Policy Optimization (TRPO)
Trust Region Policy Optimization (TRPO) 是一种强化学习算法,专门设计来改善策略梯度方法在稳定性和效率方面的表现。由 John Schulman 等人在 2015 年提出,TRPO 的核心思想是在策略优化过程中引入一个信任区域(trust region)&a…...
消息服务--Kafka的简介和使用
消息服务--Kafka的简介和使用 前言异步解耦削峰缓存1、消息队列2、kafka工作原理3、springBoot KafKa整合3.1 添加插件3.2 kafKa的自动配置类3.21 配置kafka地址3.22 如果需要发送对象配置kafka值的序列化器3.3 测试发送消息3.31 在发送测试消息的时候由于是开发环境中会遇到的…...
【c++11线程库的使用】
#include<iostream> #include<thread> #include<string> using namespace std; void hello(string msg) { for (int i 0; i < 1000; i) { cout << i; cout << endl; } } int main() { //1.创建线程 thread …...
C++编译产物为何在边缘端频繁触发OOM?深度解析.lto、.eh_frame、.comment段的隐藏开销(含Bloaty对比报告)
第一章:C编译产物在边缘端触发OOM的根本动因边缘设备普遍受限于物理内存(如 512MB–2GB RAM)、无 Swap 分区、缺乏内存过载保护机制,而现代 C 编译器(如 GCC 11/Clang 14)默认启用的优化策略与运行时特性&a…...
LeetCode 9. 回文数:两种高效解法详解
LeetCode入门级经典题——9.回文数,这道题看似简单,却藏着两种思路截然不同的高效解法,尤其适合刚接触算法的小伙伴巩固基础。话不多说,我们直接进入正题! 一、题目回顾 题目很简洁:给你一个整数 x &#x…...
3步解决会议记录难题:给职场人士的离线语音转文字工具
3步解决会议记录难题:给职场人士的离线语音转文字工具 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 发现问题:为什么会议记录总是让人头疼? 你是否经历过这样的场景࿱…...
AI音频分离效率提升指南:Demucs多轨道提取技术实战
AI音频分离效率提升指南:Demucs多轨道提取技术实战 【免费下载链接】demucs Code for the paper Hybrid Spectrogram and Waveform Source Separation 项目地址: https://gitcode.com/gh_mirrors/de/demucs 在数字音频处理领域,高质量音频分离技术…...
2026降AI降重工具实测:高效过审首选方案推荐
2026年学术写作辅助工具的选择核心看四个维度:降重精准度、去AI痕迹效果、格式保留能力、学科适配性。经过多场景实测,SpeedAI科研小助手、飞降AI、超能降AI、快降AI、思笔AI是当前覆盖全需求的第一梯队工具,能满足从专科到硕博、从中文到英文…...
OpenClaw效率对比:Qwen3.5-9B-AWQ-4bit与FP16版本性能测试
OpenClaw效率对比:Qwen3.5-9B-AWQ-4bit与FP16版本性能测试 1. 测试背景与动机 上周在给团队搭建本地知识库自动化归档系统时,遇到了一个典型问题:OpenClaw在执行"截图→识别→归档"任务链时,频繁出现显存不足的报错。…...
源码阅读的艺术:开源项目入门者的渐进式指南
文章目录 每日一句正能量前言一、为什么读源码是开源入门的必修课二、准备工作:建立项目的"认知地图"2.1 三层结构分析法2.2 依赖关系可视化 三、第一层阅读:从"使用"到"入口"3.1 追踪一个完整请求3.2 绘制"调用链&q…...
RPG Maker MV/MZ文件解密工具:轻松解锁游戏资源的神奇钥匙
RPG Maker MV/MZ文件解密工具:轻松解锁游戏资源的神奇钥匙 【免费下载链接】RPG-Maker-MV-Decrypter You can decrypt RPG-Maker-MV Resource Files with this project ~ If you dont wanna download it, you can use the Script on my HP: 项目地址: https://git…...
Phi-3-mini-4k-instruct-gguf实战:Java面试题智能解析与答案生成
Phi-3-mini-4k-instruct-gguf实战:Java面试题智能解析与答案生成 1. 引言:Java面试准备的痛点与AI解决方案 Java开发者求职或复习时,常常面临一个普遍问题:如何高效准备海量的技术面试题。从多线程到JVM原理,从Sprin…...
像素幻梦·创意工坊实操手册:批量生成任务队列管理与异步导出机制
像素幻梦创意工坊实操手册:批量生成任务队列管理与异步导出机制 1. 认识像素幻梦创意工坊 Pixel Dream Workshop(像素幻梦创意工坊)是一款基于FLUX.1-dev扩散模型的像素艺术生成工具。它采用16-bit像素风格的现代化界面设计,为创…...
