From de9c5dfa670c24ff196eefa9cca02cccae80ab97 Mon Sep 17 00:00:00 2001 From: linlihong <747682928@qq.com> Date: Fri, 6 Sep 2024 17:31:10 +0800 Subject: [PATCH] =?UTF-8?q?2024/9/6=20Hot100=20substring=20=E6=9C=AA?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/hot100/substring/Num79.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/main/java/com/cool/hot100/substring/Num79.java diff --git a/src/main/java/com/cool/hot100/substring/Num79.java b/src/main/java/com/cool/hot100/substring/Num79.java new file mode 100644 index 0000000..f07d7ac --- /dev/null +++ b/src/main/java/com/cool/hot100/substring/Num79.java @@ -0,0 +1,49 @@ +package com.cool.hot100.substring; + +import java.util.*; + +/** + * Created with IntelliJ IDEA. + * + * @Author: Cool + * @Date: 2024/09/06/13:57 + * DayNumber 1 + * Hard 3 + * Level ? + */ +public class Num79 { + + public String minWindow(String s, String t) { + if(s.length()<t.length()){ + return ""; + } + int minLeft=Integer.MIN_VALUE; + int minRight=Integer.MAX_VALUE; + int left=0; + int right=0; + char[] charArray=s.toCharArray(); + int index=0; + Map<Character,Integer> tMap=new HashMap<>(); + Map<Character,Integer> sMap=new HashMap<>(); + for(int i=0;i<t.length();i++){ + tMap.put(t.charAt(i),tMap.getOrDefault(i,0)+1); + } + for(int i=0;i<charArray.length;i++){ + if(tMap.containsKey(charArray[i])){ + sMap.put(charArray[i],sMap.get(charArray[i])+1); + if(tMap.get(charArray[i])>sMap.get(charArray[i])){ + right++; + }else{ + while (sMap.get(charArray[left])>tMap.get(charArray[left])){ + sMap.put(charArray[left],sMap.get(charArray[left])-1); + } + left++; + } + } + right++; + } + return s.substring(left,right); + } + + +}