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
相关推荐
Ray Liang21 分钟前
用六边形架构与整洁架构对比是伪命题?颜酱23 分钟前
理解二叉树最近公共祖先(LCA):从基础到变种解析Java水解36 分钟前
Java 中间件:Dubbo 服务降级(Mock 机制)SimonKing5 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码FastBean5 小时前
Jackson View Extension Spring Boot StarterSeven976 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串皮皮林55115 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!冰_河16 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!地平线开发者16 小时前
SparseDrive 模型导出与性能优化实战董董灿是个攻城狮17 小时前
大模型连载2:初步认识 tokenizer 的过程