class Solution: # @return a string def minWindow(self, S, T): count1={}; for char in T: if char not in count1: count1[char]=1 else: count1[char]+=1 count=len(T) start=0; minSize=len(S)+1; minStart=0 for end in range(len(S)): if S[end] in count1: count1[S[end]]-=1 if count1[S[end]]>=0: count-=1 if count==0: while True: if S[start] in count1: if count1[S[start]]<0: count1[S[start]]+=1 else: break start+=1 if minSize>end-start+1: minSize=end-start+1; minStart=start if minSize==len(S)+1: return '' else: return S[minStart:minStart+minSize]
Friday, September 19, 2014
Leetcode: Minimum Window Substring @Python
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment