Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution:
- def minWindow(self, s: str, t: str) -> str:
- alp = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
- d1 = {i:0 for i in alp}
- d2 = {i:0 for i in alp}
- for i in t:
- d1[i]+=1
- def compare():
- for i in d1:
- if d1[i] == 0:
- continue
- elif d1[i] > d2[i]:
- return False
- else:
- continue
- return True
- l,r= 0,0
- res,reslen = 0,float('inf')
- for r in range(len(s)):
- d2[s[r]]+=1
- while compare():
- if (r-l+1)<reslen:
- reslen = min(reslen,r-l+1)
- res = s[l:r+1]
- d2[s[l]] -=1
- l+=1
- return res if reslen!=float('inf') else ""
Advertisement
Add Comment
Please, Sign In to add comment