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;
}
最小覆盖子串
新生农民2025-04-13 13:58
相关推荐
地平线开发者8 小时前
理想汽车智驾方案介绍专题 3 MoE+Sparse Attention 高效结构解析小蒜学长8 小时前
汽车专卖店管理系统的设计与实现(代码+数据库+LW)pusue_the_sun8 小时前
C语言强化训练(1)catcfm10 小时前
Java学习笔记-泛型老华带你飞10 小时前
社区互助|基于SSM+vue的社区互助平台的设计与实现(源码+数据库+文档)007php00711 小时前
Go 错误处理:用 panic 取代 err != nil 的模式阿华的代码王国11 小时前
【Android】OkHttp发起GET请求 && POST请求一支鱼11 小时前
leetcode-2-两数相加island131411 小时前
【Redis#7】Redis 数据结构 -- Set 类型