leetcode76最后一个测试用例无法通过

76 最小覆盖子串

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""

注意:

  • 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。
  • 如果 s 中存在这样的子串,我们保证它是唯一的答案。

示例 1:

输入:s = "ADOBECODEBANC", t = "ABC"
输出:"BANC"
解释:最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。

示例 2:

输入:s = "a", t = "a"
输出:"a"
解释:整个字符串 s 是最小覆盖子串。

示例 3:

输入: s = "a", t = "aa"
输出: ""
解释: t 中两个字符 'a' 均应包含在 s 的子串中,
因此没有符合条件的子字符串,返回空字符串。

难点

  • 踩坑:Java 的 Integer 类型比较,尤其是在使用 Map<>,等类型时,可能存在泛型为 Integer 的情况,一定注意 Integer 的比较 要用 equal

最后一个例子通不过的坑,

  • 当Integer类型的数值超出了-128~127的范围,就要用equals比较而不能用==判断
  • 数值在-128~127的范围内,就存在Integer的缓存里面,超过这个范围就会new Integer对象

解法

第十六行,原本使用 == 判断的是否相等,导致最后一个测试用例无法通过!

public String minWindow(String s, String t) {if(t.length() > s.length()) return "";Map<Character,Integer> tCount = new HashMap<>();for (int i = 0; i < t.length(); i++) {tCount.put(t.charAt(i), tCount.getOrDefault(t.charAt(i),0)+1 );}Map<Character,Integer> sCount = new HashMap<>();Map<Character,Queue<Integer>> index = new HashMap<>();String ret = "" ;for (int i = 0; i < s.length(); i++) {if(tCount.containsKey(s.charAt(i)) && sCount.getOrDefault(s.charAt(i),0) < tCount.getOrDefault(s .charAt(i),0)){Queue<Integer> queue = index.getOrDefault(s.charAt(i), new LinkedList<>());queue.offer(i);index.put(s.charAt(i) , queue );sCount.put(s.charAt(i), sCount.getOrDefault(s.charAt(i),0)+1 );} else if (tCount.containsKey(s.charAt(i)) && Objects.equals(sCount.getOrDefault(s.charAt(i), 0), tCount.getOrDefault(s.charAt(i), 0))) {Queue<Integer> queue = index.getOrDefault(s.charAt(i), new LinkedList<>());queue.offer(i);queue.poll();index.put(s.charAt(i) , queue );}if(tCount.equals(sCount)){int begin = index.values().stream().map(Queue::peek).min(Comparator.naturalOrder()).get();if (ret.equals("") || i+1 - begin < ret.length()) {ret = s.substring(begin,i+1);}sCount.put(s.charAt(begin) , sCount.get(s.charAt(begin))-1 );Queue<Integer> queue = index.getOrDefault(s.charAt(begin), new LinkedList<>());queue.poll();index.put(s.charAt(begin) , queue );}}return ret;}

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

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

相关文章

200个有趣的HTML前端游戏项目合集(持续更新中)

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

数组合并小程序

题目&#xff1a; 输入有序数组a, b, 不使用排序算法&#xff0c;及额外数组&#xff0c;按大小顺序合并a, b数组&#xff0c;元素不重复&#xff1b; 思路&#xff1a; 1. 如果比插入的数组大&#xff0c;那么往后插入&#xff0c;如果继续有大的&#xff0c;就移动位置插入…

计算机组成原理1:计算机系统概述

此系列介绍计算机的组成原理&#xff0c;参考书&#xff1a;《计算机组成原理考研复习指导》(王道论坛组编)。 1.计算机发展史 1.1 计算机发展 计算机变化 第一代计算机 ( 1946 − 1957 ) (1946-1957) (1946−1957)&#xff1a;电子管时代。 逻辑元件采用电子管&#xff1b;使…

WPF如何使用 System.Windows.Forms.FolderBrowserDialog

WPF如何使用 System.Windows.Forms.FolderBrowserDialog 在WPF中&#xff0c;如果你想使用System.Windows.Forms.FolderBrowserDialog来选择文件夹&#xff0c;你需要添加对WinForms的引用&#xff0c;因为FolderBrowserDialog是Windows Forms的一部分&#xff0c;不是WPF的一部…

大模型中 .safetensors 文件、.ckpt文件、.gguf和.pth以及.bin文件区别、加载和保存以及转换方式

在大模型中&#xff0c;.safetensors、.ckpt、.gguf、.pth 和 .bin 文件都是用于保存和加载模型参数的文件格式&#xff0c;它们之间的区别和转换方式如下&#xff1a; .safetensors 文件&#xff1a; 这是 TensorFlow 2.x 中新增的文件格式&#xff0c;用于保存模型参数和优化…

CentOS运行Py脚本报错illegal instruction故障处理

测试Python脚本运行环境及依赖 [root@localhost network]# python3 devops_ping_test1.py Illegal instruction ①、illegal instruction报错 由于本人第一次测试时运行是正常的,但是在测试过程中多次修改、覆盖代码运行后提示Illegal instruction(非法指令),所以不能单…

Java封装最佳实践:打造高内聚、低耦合的优雅代码~

​ 个人主页&#xff1a;秋风起&#xff0c;再归来~ 文章专栏&#xff1a;javaSE的修炼之路 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己&#xff0c;律己则安&#xff01; 1、封装 1.1 封装的概念 面向对象程序三大…

文献学习-24-用于少发罕见病诊断的动态特征拼接

Dynamic feature splicing for few-shot rare disease diagnosis Authors: Yuanyuan Chen, Xiaoqing Guo , Yongsheng Pan , Yong Xia , Yixuan Yuan Source: Medical Image Analysis 90 (2023) 102959 Keywords: 少样本学习 罕见病诊断 transformer 特征拼接 通道相似度 Ab…

ARM_02-光控灯

1.总结串口的发送和接收功能使用到的函数 发送函数&#xff1a; HAL_StatusTypeDef //是否成功发送数据 HAL_UART_Transmit( UART_HandleTypeDef *huart,//指定哪个串口 const uint8_t *pData,//要发送的数据 uint16_t Size,//要发送的数据长度&#xff0c;用sizeof的话要…

FreeRTOS 任务挂起和恢复API函数

FreeRTOS 任务挂起和恢复API函数使用 挂起的作用就是当我们需要暂停某任务时候&#xff0c;等过一段时间在运行&#xff0c;这个时候要是使用删除和重建的方法就会当时任务进行时候的变量保存的值。当需要将这个任务停止运行一段时间的将这个任务挂起&#xff0c;当重新进行运…

华为云亮相KubeCon EU 2024,以持续开源创新开启智能时代

3月21日&#xff0c;在巴黎举办的云原生顶级峰会KubeCon EU 2024上 &#xff0c;华为云首席架构师顾炯炯在“Cloud Native x AI&#xff1a;以持续开源创新开启智能时代”的主题演讲中指出&#xff0c;云原生和AI技术的融合&#xff0c;是推动产业深刻变革的关键所在。华为云将…

进度管理与成本管理

1.裁剪考虑因素 2. 定义计划是把WBS分解的活动在分解成更小的活动。 3. 4.资源平衡会改变关键路径 5.资源平滑只能在自由和浮动时间延迟 6. 7. 8.成本管理&#xff0c;论文要写不足与解决过程 9.成本的类型 10. 11.规划XX管理的时候&#xff0c;输入一般有章程和项目…

C语言动态内存讲解+通讯录2.0

文章目录 前文malloc和freecallocrealloc枚举常量的简单说明及使用 通讯录2.0动态开辟通讯录,满了就扩容保存数据和载入数据 通讯录2.0演示推荐好用的软件 前文 本文主要介绍动态开辟的几个函数,以及改进之前的通讯录。 我们局部变量等是在栈区上开辟空间的,而我们动态开辟的空…

HTML——1.简介、基础、元素

一、简介 HTML&#xff08;HyperText Markup Language&#xff09;是一种用于创建网页的标记语言。它使用标记&#xff08;tag&#xff09;来描述网页的结构和内容。HTML被用于定义网页中的文本、图像、链接、多媒体以及其他元素的排列和呈现方式。 HTML文档是由一系列的HTML…

新model开发记录

模型使用 -- 用blender导出为 fbx &#xff0c;修改渲染方式&#xff08;点击模型->Materials->Extract Materials(将材质从fbx中 单独提取出来了)->Materials 选择 Shader -> SimpleURPToonLitExample 点开脸的材质&#xff0c;勾选第一条&#xff09; 解决角色…

力扣-python-故障键盘

题解&#xff1a; from collections import dequeclass Solution:def finalString(self, s: str) -> str:# 创建一个双端队列用于存储字符q deque()# 定义一个标志位&#xff0c;用于标记当前字符应该添加到队列的哪一端head False# 遍历输入的字符串s的每一个字符for ch…

Linux word转pdf汉字没有乱码,但是dataMap.put(“userTrainedOper1“, “\u2611“);填充单选框时乱码

原来的&#xff0c;只支持汉字&#xff0c;不支持Unicode package com.gangwantech.web.utils;import com.aspose.words.*; import net.coobird.thumbnailator.Thumbnails;import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.ByteArrayInput…

C++刷题篇——05静态扫描

一、题目 二、解题思路 注意&#xff1a;注意理解题目&#xff0c;缓存的前提是先扫描一次 1、使用两个map&#xff0c;两个map的key相同&#xff0c;map1&#xff1a;key为文件标识&#xff0c;value为文件出现的次数&#xff1b;map2&#xff1a;key为文件标识&#xff0c;va…

【代码随想录】【动态规划】day39:不同路径

不同路径1 # 机器人从(0,0)出发&#xff0c;到达(m-1,n-1)终点 一共有几种路径# 确定初始数组:dp二维数组 m行n列 表示到m行n列有几种路径dp[[0] * n for _ in range(m)]dp[0][0]1for i in range(m):dp[i][0]1for j in range(n):dp[0][j]1# dp[1][1]2for i in range(1,m):for…

CTF wed安全(攻防世界)练习题

一、Training-WWW-Robots 进入网站如图&#xff1a; 翻译&#xff1a;在这个小小的挑战训练中&#xff0c;你将学习Robots exclusion standard。网络爬虫使用robots.txt文件来检查它们是否被允许抓取和索引您的网站或只是其中的一部分。 有时这些文件会暴露目录结构&#xff0c…