Python | Leetcode Python题解之第76题最小覆盖子串

题目:

题解:

class Solution:def minWindow(self, s: str, t: str) -> str:ans_left, ans_right = -1, len(s)left = 0cnt_s = Counter()  # s 子串字母的出现次数cnt_t = Counter(t)  # t 中字母的出现次数less = len(cnt_t)  # 有 less 种字母的出现次数 < t 中的字母出现次数for right, c in enumerate(s):  # 移动子串右端点cnt_s[c] += 1  # 右端点字母移入子串if cnt_s[c] == cnt_t[c]:less -= 1  # c 的出现次数从 < 变成 >=while less == 0:  # 涵盖:所有字母的出现次数都是 >=if right - left < ans_right - ans_left:  # 找到更短的子串ans_left, ans_right = left, right  # 记录此时的左右端点x = s[left]  # 左端点字母if cnt_s[x] == cnt_t[x]:less += 1  # x 的出现次数从 >= 变成 <(下一行代码执行后)cnt_s[x] -= 1  # 左端点字母移出子串left += 1  # 移动子串左端点return "" if ans_left < 0 else s[ans_left: ans_right + 1]

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

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

相关文章

java——继承(一)

一&#xff1a;匿名对象 只能使用一次&#xff0c;每一次使用都会创建一个新的对象&#xff0c;默认值和数组的默认值的规则相同。所以适用于调用一次对象的情况&#xff1a; public class ClassAnonymous {String name;public void show(){System.out.println(name"真厉…

python入门demo实例-个人信息收集页面

dd 今天是python入门day2&#xff0c;先看一下本案例demo的样子吧~ 资源下载&#xff1a; python案例demo个人信息收集页面实现资源-CSDN文库 实现上述界面需要pythonhtml实现&#xff0c;需通过在Web浏览器的地址栏中输入 http://127.0.0.1:5000/打开界面&#xff0c;127.0.…

云密码机的定义与特点

云密码机&#xff0c;作为云计算环境中保障数据安全的关键设备&#xff0c;其重要性不言而喻。它基于虚拟化技术&#xff0c;通过提供高性能的数据加解密、密钥管理等服务&#xff0c;确保云上数据的安全与隐私。下面&#xff0c;安策科技将从云密码机的定义、特点、应用场景以…

DDD领域驱动架构有哪些

领域驱动设计并没有一种固定的架构模式,因为它是一种设计方法论,更侧重于解决问题域的建模和分析。但是在实践中,可以根据具体的业务场景和需求进行架构设计,常见的领域驱动架构如下: 六边形架构(Hexagonal Architecture) 又称为端口与适配器模式,其核心思想是将系统…

工业大模型赋能新型工业化的路径探索

人工智能是引领新一轮科技革命和产业变革的战略性技术&#xff0c;具有溢出带动效应很强的“头雁”作用。在十四届全国人大二次会议上&#xff0c;开展“人工智能”专项行动被首次写入《政府工作报告》&#xff0c;这为人工智能赋能新型工业化提供了深刻的理论支撑。当前&#…

精益生产咨询公司在企业转型中发挥的作用有哪些?

在全球化竞争日益激烈的今天&#xff0c;企业转型已成为许多组织求生存、谋发展的必经之路。而在这条道路上&#xff0c;精益生产咨询公司的作用愈发凸显&#xff0c;它们如同企业转型的得力助手&#xff0c;帮助企业在复杂的商业环境中找到新的增长点&#xff0c;实现更高效、…

CRMEB 多商户 Java版 v1.5正式发布,v1.6更新预告新鲜出炉

CRMEB 多商户 Java版 v1.5正式发布啦&#xff01; 新增卡密商品、云盘商品、小程序外链生成器工具、新增商家主动退款、商品列表批量操作&#xff0c;以及后台UI的全面优化升级等。多商户Java版的用户朋友们&#xff0c;新版本可以安排起来啦&#xff01; 同时&#xff0c;多商…

VBA助力Excel工作薄另存备份和自我销毁,确保工作薄名称自始至终不被修改

VBA助力Excel工作薄另存备份和自我销毁,确保工作薄名称自始至终不被修改 工作中,你是否遇到过这样的情况,工作表改来改去,工作薄名称也从“初稿”、“终稿”、“最终版”、“上交版”等逐步变化,最后也不知道哪版是最后一版,想从修改日期查看哪个是最后一版,可逐个打开关…

WingPro for Mac注册激活版:Python开发的强大引擎

对于Python开发者来说&#xff0c;一款好的开发工具能够极大地提高开发效率。而WingPro for Mac正是这样一款强大的引擎&#xff0c;让Python开发变得更加高效和便捷。 WingPro for Mac拥有直观的用户界面和强大的调试器&#xff0c;能够快速定位问题并修复错误。它支持PEP8风格…

面试被问“薪资预期”,高情商如何巧妙回应而非直接报数?

在每一次求职的旅途中&#xff0c;我们都会面临一个似乎不可避免的问题——“你对薪资有何期待&#xff1f;”这个问题如同一个试金石&#xff0c;既能检验求职者的专业能力&#xff0c;又能窥见求职者的情商高低。在我看来&#xff0c;如何巧妙地回答这个问题&#xff0c;不仅…

Python 多进程和多线程在加速程序运行上的差别

起因是在处理一个需要大量计算且批量生成文件的程序时&#xff0c;使用多线程的方法处理计算任务加速效果不理想&#xff0c;后来采用了多进程的方式加速效果很好&#xff0c;所以花点时间探究一下两者之间的区别。 目录 1. 多线程&#xff08;multi-thread&#xff09; 2. …

mongodb-批量刷新数据

1、第一种联合删除 db.collection.aggregate([{$lookup: {from: "带刷新数据源表-test1",localField: "devCode",foreignField: "oldDevCode",as: "matching_docs"}},{$unwind: "$matching_docs"},{$set: {"devCode&q…

N7552A是德科技N7552A电子校准件

181/2461/8938产品概述&#xff1a; 更小巧轻便的 2 端口模块&#xff0c;支持 3.5 mm 或 N 型 50 Ω 连接器&#xff0c;能够将校准时间缩短一半 特点 频率范围&#xff1a;直流至 9 GHz 使用 N 型或 3.5 mm 连接器 更小巧轻便的 2 端口电子校准件&#xff08;ECal&#xff…

leetcode 2466.统计构造好字符串的方案数

思路&#xff1a;dp 其实这道题总的来说&#xff0c;就是爬楼梯问题&#xff0c;大家可以转化一下&#xff0c;并且发现一下爬楼梯问题的规律。 爬楼梯问题&#xff0c;基本上题目的状态只有两个&#xff0c;并且是固定的&#xff08;不排除有变形的爬楼梯题目&#xff09;&a…

【JVM】类加载机制

类加载的生命周期 类加载过程&#xff1a;加载->连接->初始化。连接过程又可分为三步&#xff1a;验证->准备->解析。 总结&#xff1a; 五个阶段&#xff1a;加载、验证、准备、解析、初始化 PS&#xff1a;其中解析阶段在某些情况下可以在初始化阶段之后开始。…

Nacos扩展:使用nacos实现自定义文本配置的实时刷新

文章目录 一、背景二、编码1、spring.factories2、NacosPropertiesLoader3、NacosConfigHandler4、NacosLoaderConfiguration5、测试类6、扩展 一、背景 我们都知道&#xff0c;使用Nacos时&#xff0c;如果将Bean使用RefreshScope标注之后&#xff0c;这个Bean中的配置就会做…

数仓分层——ODS、DW、ADS

一、什么是数仓分层 数据仓库分层是一种组织和管理数据仓库的结构化方法&#xff0c;它将数据仓库划分为不同的层次或级别&#xff0c;每个层次具有特定的功能和目的。这种分层方法有助于管理数据仓库中的数据流程、数据处理和数据访问&#xff0c;并提供一种清晰的结构来支持…

java接受入参是xml格式参数demo

java接受入参是xml格式参数demo 依赖demo1. xml入参定义2.接口定义3. postman请求4. 结果 注解说明 依赖 pom依赖 jackson-dataformat-xml <dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</…

Python实现txt转Excel(坐标)

import pandas as pddef txt_to_excel(txt_file, excel_file):# 读取 txt 文件with open(txt_file, r) as f:lines f.readlines()# 将每行数据分割成多个单元格data []for line in lines:row line.strip().split( )data.append(row)# 将数据保存到 Excel 文件df pd.DataFra…

EPAI手绘建模APP数值几何变换

(10) 数值几何变换 图 257 数值几何变换工具栏 ① 数值几何变换和交互式几何变换都包括移动、旋转、缩放模型。但是交互式几何变换变换时的变换轴是模型自身中心为变换中心&#xff0c;以X、Y、Z方向的为变换方向&#xff0c;而数值几何变换可以指定变换中心和变换方向。另外&a…