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

算法016——最小覆盖子串

力扣——最小覆盖子串(点击跳转)
在这里插入图片描述
分析题目
在这里插入图片描述
我们先随便从一个位置开始,让 right 右移,直到找到符合题目的位置停下
在这里插入图片描述
之后,让 left 右移,此时会出现两种情况

  1. 仍然符合要求,right 不需要动
  2. 不符合要求,此时让 right 右移,知道找到符合要求的位置

所以我们使用滑动窗口 + 哈希表的方式来解决此问题。

此时,窗口满足出窗口,让 left 右移
在这里插入图片描述

  1. left = 0,right = 0
  2. 进窗口: hash2[in]++
  3. 判断:check(hash1,hash2)
    更新结果:起始位置,最短长度
    出窗口:hash2[out]–

跟上两篇博客一样,我们可以对判断条件做出优化
前两篇博客找到字符串中所有的字母异位词

定义一个变量 count 表示有效字符的种类

进窗口,要在相等的时候比较,相等说明此时进窗口的字符为有效字符,之后让 count++,如果按照上一道题,大于等于来比较的话,会有重复
在这里插入图片描述

出窗口时,加入 left 与 right 在如图所示的位置上,我们要在出窗口之前判断,等于说明出窗口的为有效字符,让 count–

最后判断 count 是否等于 hash1的长度

  1. 进窗口:hash2[in] == hash1[in] ——> count++
  2. 出窗口:hash2[out] == hash1[out] ——> count–
  3. 判断条件: count == hash1.size()

代码如下:

class Solution {public String minWindow(String s, String t) {char[] s1 = s.toCharArray();char[] t1 = t.toCharArray();int[] hash1 = new int[128];int kind = 0;//用于统计 t 字符串中的字符种类的个数for(char ch : t1){if(hash1[ch]++ == 0){kind++; }} int[] hash2 = new int[128];int minlen = Integer.MAX_VALUE;int begin = -1;for(int left = 0,right = 0,count = 0;right < s1.length;right++){char in = s1[right];if(++hash2[in] == hash1[in]){count++;  }while(kind == count){if(right - left + 1 < minlen){begin = left;minlen = right - left + 1;}char out = s1[left++];if(hash2[out]-- == hash1[out]){count--;}}}if(begin == -1){return new String();}else{return s.substring(begin,begin + minlen);}}
}

完成了,我要累死了,休息
在这里插入图片描述

相关文章:

算法016——最小覆盖子串

力扣——最小覆盖子串&#xff08;点击跳转&#xff09; 分析题目 我们先随便从一个位置开始&#xff0c;让 right 右移&#xff0c;直到找到符合题目的位置停下 之后&#xff0c;让 left 右移&#xff0c;此时会出现两种情况 仍然符合要求&#xff0c;right 不需要动不符合…...

DeepSeek-R1大模型微调技术深度解析:架构、方法与应用全解析

1. DeepSeek-R1大模型架构设计与技术特性 1.1 架构设计 DeepSeek-R1作为超大规模语言模型,其核心架构设计包含以下创新: 专家混合架构(MoE) 采用6710亿参数的混合专家架构(MoE),每个推理过程仅激活370亿参数,实现计算效率与资源利用率的突破性提升。 Transformer框架…...

二阶近似 是什么意思

二阶近似 是什么意思 一、二阶近似的概念与举例 二阶近似是数学分析中通过泰勒展开对函数进行近似的方法,保留到二阶项(即包含一阶导数和二阶导数)。在优化问题(如模型训练)中,常用于近似损失函数,帮助更精准地更新模型参数。 举例: 假设损失函数为 L ( θ ) \mathc…...

STM32U575RIT6单片机(四)

作业: 使用I2C获取SHT20传感器温湿度 使用I2C获取AP3216C三合一传感器: 光照, 接近, 红外 三个功能 合并的传感器 #ifndef SHT20_H #define SHT20_H#include "stdint.h" #include "i2c.h" #include "stdio.h" //1、确定从机的设备地址(代码不…...

deepseek内网离线部署手册

前言 在当下 AI 浪潮汹涌的时代&#xff0c;DeepSeek 以其卓越的性能和出色的表现&#xff0c;迅速成为了众多专业人士和科技爱好者热议的焦点工具。在众多AI大模型的比拼中&#xff0c;DeepSeek 展现出了优越的实力。然而&#xff0c;对于许多企业和组织而言&#xff0c;出于…...

第七次作业,网络防御高级

拓扑&#xff1a;1 接口ip配置和区域划分&#xff1a; fw1&#xff1a; [fw1]interface GigabitEthernet 0/0/0 [fw1-GigabitEthernet0/0/0]service-manage all permit ​ [fw1]firewall zone trust [fw1-zone-trust]add interface GigabitEthernet 1/0/0 ​ ​ [fw1]securi…...

“AIGC”狂飙:一场正在撕裂传统产业链的“智能革命”

前言 在过去的几年中&#xff0c;人工智能技术经历了飞速的发展&#xff0c;深刻地改变了全球科技产业的格局。2023年被称为“AI元年”&#xff0c;这一年的标志性事件包括ChatGPT的发布和大语言模型的快速崛起&#xff0c;这些技术突破不仅引发了全球范围内的关注&#xff0c…...

【鸿蒙开发】Hi3861学习笔记- 定时器中断

00. 目录 文章目录 00. 目录01. 概述02. 定时器相关API2.1 hi_timer_create2.2 hi_timer_start2.3 hi_timer_stop2.4 hi_timer_delete 03. 硬件设计04. 软件设计05. 实验现象06. 附录 01. 概述 定时器&#xff0c;顾名思义就是用来计时的&#xff0c;我们常常会设定计时或闹钟…...

GB9706.1-2020部分定义

一、可拆卸的网电源连接器 1、器具耦合器 2、设备电源输入插口 3、可拆卸电源软电线 4、ME 设备 5、固定的网电源插座/多位插座(MSO) 6、网电源连接器 7、网电源插头 二、可拆卸的网电源连接 1、器具输入插座 2、患者连接 3、电线管 4、可拆卸电源软电线 5、外壳 6、固定…...

PCL 多项式拟合点法线(二维)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这个思路其实很简单,假设我们有一组曲线点,我们可以对其拟合曲线并计算其导数来获取每个点的法向量,当然这一思路也可以扩展至三维。具体过程如下所示: 二、实现代码 PolyFit.h #pragma once/* ** 基于最小二乘…...

docker中安装Ghost报错Error: connect ECONNREFUSED 127.0.0.1:3306

今天尝试在docker中运行ghost报错 "Unknown database error"Error ID:500Error Code: ECONNREFUSED----------------------------------------Error: connect ECONNREFUSED 127.0.0.1:3306at /var/lib/ghost/versions/5.112.0/node_modules/knex-migrator/lib/datab…...

Java创造型模式之原型模式详解

设计模式是面向对象设计中的一种标准方法&#xff0c;用于解决常见的设计问题。原型设计模式&#xff08;Prototype Pattern&#xff09;是23种经典设计模式之一&#xff0c;属于创建型模式&#xff0c;它允许通过复制现有对象来创建新对象&#xff0c;而不是通过构造函数或工厂…...

3.17日Man2Marine

上游任务 vs. 下游任务 任务类型作用你的研究中的例子上游任务(Upstream Task)训练通用的音频表示,提供特征在大规模人类语音数据集上进行自监督学习下游任务(Downstream Task)利用上游任务学到的特征进行具体任务微调模型进行海洋哺乳动物叫声分类在 NLP(自然语言处理)…...

Fisher信息、梯度方差与学习率调度器的计算流程

Fisher信息、梯度方差与学习率调度器的计算流程 目录 Fisher信息、梯度方差与学习率调度器的计算流程**步骤1:定义模型与数据集****步骤2:计算梯度与Fisher信息****步骤3:计算梯度方差****步骤4:定义学习率调度器****步骤5:参数更新流程****示例输出****关键概念说明**步骤…...

209、不大于n的数的组合(python)

题目 已知一个数n和可组合的数字集合s&#xff0c;通过组合数字集合构成一个数x&#xff0c;使其不大于n。 例如&#xff1a; n 22356789 a [2, 3, 4, 8, 9] x 22349999 代码实现 n 22356789 a [2, 3, 4, 8, 9] a.sort() s str(n) tag True res [] for i in range…...

Matlab 汽车电子驻车系统仿真分析

1、内容简介 Matlab 176-汽车电子驻车系统仿真分析 可以交流、咨询、答疑 2、内容说明 略 摘 要&#xff1a; 论述了电子驻车制动控制系统的基本结构 、 组成及功能&#xff0c;并基于 Matlab/Simulink &#xff0c;构建了包括直流电机 、 丝杠螺母及其内部 零件和相关摩擦力…...

蓝桥杯备考----模拟算法 phone number

嗯。这道题可以在两个和三个数字加-&#xff0c;我们只要随便输出一个奏行 那么&#xff01;我们规范一下&#xff0c;我们尽可能的只在两个数字之间加&#xff0c;但是如果一共奇数个的话&#xff0c;我们就让最后三个成一组&#xff0c;也就是说&#xff0c;我们用的是个小贪…...

Unity WebGL IIS报错无法使用

Unity WebGL IIS报错无法使用 原因1&#xff1a;WebGL文件夹无访问权限 右键WebGL文件夹-属性 点击安全-编辑-添加 输入ever点击确定-应用即可...

【算法学习之路】11.并查集

并查集 前言一.简介二.基础并查集三.基础并查集题目12 四.种类并查集&#xff08;扩展域并查集&#xff09;五.种类并查集的题目 前言 我会将一些常用的算法以及对应的题单给写完&#xff0c;形成一套完整的算法体系&#xff0c;以及大量的各个难度的题目&#xff0c;目前算法也…...

第三课:Python递归编程艺术(从基础到优化)

递归&#xff0c;作为编程中一种优雅而强大的技术&#xff0c;以其简洁的代码风格和强大的问题解决能力&#xff0c;在算法设计中占据着举足轻重的地位。然而&#xff0c;递归的奥秘不仅仅在于其表面的简洁&#xff0c;更在于其背后的逻辑深度与优化技巧。本文将深入探讨递归编…...

插入排序程序并行化

一 插入排序 插入排序是稳定的原地排序算法,核心思想是逐步构建有序序列。对于未排序部分的每个元素,在已排序序列中从后向前扫描,找到合适位置插入。 二 并行化思路 1 分块排序 将数组分成多个子块,每个线程使用插入排序处理一块。 2 归并合并 将各有序子块归并成最终数…...

【系统架构设计师】操作系统 - 文件管理 ③ ( 树形目录结构 | 文件属性 | 绝对路径 与 相对路径 )

文章目录 一、树形目录结构1、树形目录结构 概念简介2、树形目录结构 组成3、文件属性4、树形目录结构 示例 二、绝对路径 与 相对路径1、绝对路径2、相对路径3、绝对路径 与 相对路径 对比 一、树形目录结构 1、树形目录结构 概念简介 " 树形目录结构 “ 又称为 ” 多级目…...

【量化科普】Standard Deviation,标准差

【量化科普】Standard Deviation&#xff0c;标准差 &#x1f680;量化软件开通 &#x1f680;量化实战教程 在量化投资领域&#xff0c;标准差&#xff08;Standard Deviation&#xff09;是一个非常重要的统计指标&#xff0c;用于衡量一组数据的离散程度。简单来说&#…...

实验三 Python 数据可视化 Python 聚类-K-means(CQUPT)

一、实验目的 Python 数据可视化&#xff1a; 1、学习使用 jieba、wordcloud 等类库生成词云图。 2、学习使用 Matplotlib 库进行数据可视化。 Python 聚类-K-means&#xff1a; 1、理解聚类非监督学习方法的基本原理。 2、掌握 Python、numpy、pandas、sklearn 实现聚类…...

东方通TongHttpServer:企业级服务代理中间件的卓越之选

随着信息技术的飞速发展&#xff0c;企业对于高性能、高安全性的中间件需求日益增长。东方通作为中国中间件领域的领军企业&#xff0c;凭借其在“安全”、“数据”和“智慧”三大产品体系上的深厚积累&#xff0c;推出了TongHttpServer&#xff08;简称THS&#xff09;&#x…...

EB-Cable许可证的常见问题及解决方案

在使用EB-Cable软件时&#xff0c;许可证问题可能是用户经常遇到的挑战之一。为了帮助用户更好地理解和解决许可证相关的问题&#xff0c;本文将列举一些常见的EB-Cable许可证问题&#xff0c;并提供相应的解决方案。 常见问题一&#xff1a;许可证激活失败 问题描述&#xff…...

ZED X系列双目3D相机的耐用性与创新设计解析

在工业自动化和学术研究领域&#xff0c;高精度的视觉设备正成为提升效率和质量的关键。ZED X系列AI立体相机&#xff0c;凭借其先进的技术和耐用的设计&#xff0c;为这一领域带来了新的可能。 核心技术&#xff1a;深度感知与精准追踪 ZED X系列的核心技术之一是Neural Dept…...

深入解析Java面向对象三大特征之多态、final、抽象类与接口

面向对象编程&#xff08;OOP&#xff09;的三大核心特征为封装、继承、多态&#xff0c;其中多态是最具灵活性和扩展性的特性。本文将从多态的本质出发&#xff0c;结合final关键字、抽象类与接口的设计&#xff0c;深入探讨这些概念的应用场景及其在代码中的实现细节&#xf…...

jmeter 循环控制器遍历列表中的数据

jmeter遍历列表中的数据并使用if控制器做相应的处理 测试场景请求获取列表接口发送请求JSON Extractor 提取对应字段 Loop Controller计数器If Controller 测试场景 请求获取列表接口使用循环控制器遍历接口&#xff0c;根据state字段判断是否发起其他请求 请求获取列表接口 …...

【Linux内核系列】:进程板块与文件板块的综合

&#x1f525; 本文专栏&#xff1a;Linux &#x1f338;作者主页&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客励志语录&#xff1a; 人生中成功只是一时的&#xff0c;失败却是人生的主旋律&#xff0c;但是如何面对失败却把人分成了不同的样子&#xff0c;有的人会被…...

深入理解嵌入式开发中的三个重要工具:零长度数组、container_of 和 typeof

在嵌入式开发中,内核开发者经常需要处理复杂的数据结构和动态内存分配。零长度数组、container_of 宏和 typeof 是内核开发中三个非常重要的工具,它们在结构体管理、内存操作和类型处理中发挥着关键作用。本文将详细探讨这三个工具的功能、应用场景及其在内核开发中的重要性。…...

第27周JavaSpringboot git初识

Git 课程笔记 一、Git 的介绍 1. Git 的诞生背景 Git 是 Linux 内核的作者 Linus Torvalds 为了更好地管理 Linux 内核开发而创建的版本控制系统。在 Linux 内核开发初期&#xff0c;由于开发者众多&#xff0c;协作成本很高&#xff0c;后来使用了 BitKeeper 工具来辅助协作…...

实战2. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题——提高精度

实战2. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题——提高精度 前期准备加载数据建立模型模型训练质量指标 让我们回到图像分类问题 CIFAR。 你的主要任务&#xff1a;实现整个模型训练流程&#xff0c;并在测试样本上获得良好的准确度指标值。 任务积分&#…...

CentOS高性能数据处理优化指南

在CentOS系统中&#xff0c;为实现高性能数据处理&#xff0c;需要从多个层面进行优化&#xff0c;包括系统配置、内核参数、硬件资源管理及软件优化等。 一、硬件优化 选择合适硬件是优化性能的基础&#xff0c;大规模数据处理任务建议使用多核CPU、大容量内存、SSD存储以及…...

深度剖析:Pytest Fixtures如何重塑自动化测试的可读性与高效性

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 在编写单元测试时&#xff0c;是否发现自己写了很多相同/相似代码呢&#xff1f; 像…...

AIP-181 稳定级别

编号181原文链接AIP-181: Stability levels状态批准创建日期2019-02-18更新日期2019-02-18 虽然不同组织&#xff08;谷歌或其他组织&#xff09;拥有不同的产品生命周期&#xff0c;AIP使用以下术语指代API组件 稳定性 。 注意 这些稳定级别大致对应于Google Cloud中的产品发…...

比较 (leetcode 452. 用最少数量的箭引爆气球 leetcode 435. 无重叠区间 leetcode 56. 合并区间

leetcode系列 文章目录 一、射箭引爆气球二、无重叠区间三、合并区间总结 提示&#xff1a;小白个人理解&#xff0c;如有错误敬请谅解&#xff01; 对于此类题目&#xff0c;都先按左区间排序&#xff0c;之后根据重叠还是不重叠来进行操作 一、射箭引爆气球 找到最大的重叠…...

什么是有限元力学?分而治之,将复杂问题转化为可计算的数学模型

有限元力学是应用有限元方法&#xff08;Finite Element Method, FEM&#xff09;解决力学问题的学科&#xff0c;属于计算力学的重要分支。它通过将复杂的连续体结构离散化为有限个简单单元的组合&#xff0c;结合数学和物理原理&#xff0c;近似求解力学行为&#xff08;如应…...

python项目一键加密,极度简洁

在要加密的项目内运行python -m pip install py2safe 安装后cd到项目的根目录,运行py2safe 它会递归加密所有文件夹,不需要参数,拿过来就用,基于pyarmor开发,基本破解不了,太方便辣 这是readme文件,不仅提到了用法,还贴心的加入了口腔溃疡的治疗办法,真是太贴心了 # py2saf…...

STM32 ADC原理与驱动详解:从存储器映射到多通道采集(下) | 零基础入门STM32第六十六步

主题内容教学目的/扩展视频ADC读电位器和光敏重点课程电路原理&#xff0c;跳线设置&#xff0c;ADC功能分析&#xff0c;驱动程序&#xff0c;读出AD数据&#xff0c;读内部温度传感器数据。会设置参数&#xff0c;能读出AD值即可。 师从洋桃电子&#xff0c;杜洋老师 本文深入…...

JxBrowser 8.5.0 版本发布啦!

• 为 Compose Desktop 提供了硬件加速渲染支持 • 支持自定义 Chromium 二进制文件的品牌标识 • 多项质量改进 了解更多 获取 30 天免费试用...

LIN接口

LIN接口 前言LIN接口简介帧格式同步间隔段 (Break Field)同步段 (Sync Byte Field)受保护ID段 (Protected Identifier Field)数据段 (Data Field)校验和段 (Checksum Field) 帧在总线上的传输波形帧类型无条件帧事件触发帧偶发帧诊断帧保留帧 错误类型 IP 设计结构框图接口设计…...

【蓝桥杯每日一题】3.16

&#x1f3dd;️专栏&#xff1a; 【蓝桥杯备篇】 &#x1f305;主页&#xff1a; f狐o狸x 目录 3.9 高精度算法 一、高精度加法 题目链接&#xff1a; 题目描述&#xff1a; 解题思路&#xff1a; 解题代码&#xff1a; 二、高精度减法 题目链接&#xff1a; 题目描述&…...

prometheus-helm的使用

1、部署Prometheus监控平台 1、下载安装Prometheus &#xff08;当前集群版本1.26.3&#xff09; git clone https://github.com/prometheus-operator/kube-prometheus.git -b release-0.12 安装&#xff1a; cd kube-prometheus/ 创建命名空间和crd&#xff1a; kubectl …...

时间序列分析的军火库:AutoTS、Darts、Kats、PaddleTS、tfts 和 FancyTS解析

引言:时间序列分析的现代挑战 时间序列分析在多个领域中扮演着关键角色,包括工程、金融、气象、工业预测等。随着开源工具的快速发展,开发者可以通过多种库快速实现时间序列预测与分析。本文将对 AutoTS、Darts、Kats、PaddleTS、tfts 和 FancyTS 六大主流库进行详细解析,…...

TLSR8355F128芯片特色解析

TLSR8355F128 是泰凌微推出的一款高性能、低功耗的无线物联网芯片&#xff0c;具有以下特色&#xff1a; 丰富的协议支持&#xff1a;支持 2.4GHz 私有协议。这使得该芯片能够广泛应用于各种特殊的物联网场景&#xff0c;实现不同设备之间的互联互通。强大的处理能力&#xff…...

基于分类算法的学习失败预警(上)

文章目录 前言1.数据预处理1.1数据探索1.2数值化处理1.3空值填充1.4添加标签1.5特征筛选1.6数据集类别平衡1.7划分数据集1.8训练集类平衡1.9标准化 2.模型选择2.1建立模型2.2模型调参2.2.1遍历调参2.2.2网格搜索 结语 前言 本次案例通过对现有数据分析&#xff0c;采用如下图所…...

首页性能优化

首页性能提升是前端优化中的核心任务之一&#xff0c;因为首页是用户访问的第一入口&#xff0c;其加载速度和交互体验直接影响用户的留存率和转化率。 1. 性能瓶颈分析 在优化之前&#xff0c;首先需要通过工具分析首页的性能瓶颈。常用的工具包括&#xff1a; Chrome DevTo…...

整形在内存中的存储(例题逐个解析)

目录 一.相关知识点 1.截断&#xff1a; 2.整形提升&#xff1a; 3.如何 截断&#xff0c;整型提升&#xff1f; &#xff08;1&#xff09;负数 &#xff08;2&#xff09;正数 &#xff08;3&#xff09;无符号整型&#xff0c;高位补0 注意&#xff1a;提升后得到的…...

python中多重继承和泛型 作为模板让子类实现具体业务逻辑

示例代码&#xff1a; T TypeVar("T", bound"NoSQLBaseDocument")# 与 MongoDB 数据库交互的基础文档类 class NoSQLBaseDocument(BaseModel, Generic[T], ABC):id: UUID4 Field(default_factoryuuid.uuid4)def __eq__(self, value: object) -> bool…...