最小覆盖子串

复制代码
public static String minWindow2(String s, String t){
    if (t.length()>s.length()){
        return "";
    }
    HashMap<Character, Integer> hashMap = new HashMap<>();
    for (Character i:t.toCharArray()){
        if (hashMap.containsKey(i)){
            hashMap.put(i,hashMap.get(i)-1);
        }else{
            hashMap.put(i,-1);
        }
    }
    //滑动窗口
    int start=0;
    int end=0;
    int max=Integer.MAX_VALUE;
    String res = "";
    while (end<s.length()){
        //不为null
        if (hashMap.get(s.charAt(end))!=null){
            hashMap.put(s.charAt(end),hashMap.get(s.charAt(end))+1);
            //判断符合不
            if (test18(hashMap)){
                //将start往后移动
                while (test18(hashMap)&&start<=end){
                    //更改max
                    if (end-start+1<max){
                        max = end-start+1;
                        res = s.substring(start,end+1);
                    }
                    if (hashMap.get(s.charAt(start))!=null){
                        //减去1
                        hashMap.put(s.charAt(start),hashMap.get(s.charAt(start))-1);
                    }
                    start++;
                }
                end++;
            }else{
                end++;
            }
        }else{
            end++;
        }
    }
    return res;
}
public static boolean test18(HashMap<Character, Integer> hashMap){
    for (Integer i:hashMap.values()){
        if (i<0){
            return false;
        }
    }
    return true;
}
相关推荐
小雨下雨的雨2 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
xieliyu.4 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
明夜之约4 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee4 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Jinkxs5 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
辣机小司5 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
一条小锦吕*5 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
fangdengfu1236 小时前
ES分析系统各个服务日志占用量
java·前端·elasticsearch
云烟成雨TD6 小时前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
星越华夏6 小时前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32