哈希主打
最小覆盖子串
http://www.nowcoder.com/questionTerminal/c466d480d20c4c7c9d322d12ca7955ac
非典型滑动窗口思想
建立目标哈希
有序列表内容迭代过程重构待比哈希
比较通过则重置循环变量,初始化待比哈希
循环迭代提跳出
func minWindow( S string , T string ) string { tm := make(map[byte]int,0) for i:=0;i<len(T);i++{ tm[T[i]]++ } minStr :="" ssm := make(map[byte]int,0) for i,k:=0,-1;i<len(S);i++{ if _,ok:=tm[S[i]];ok { if k ==-1 { k = i } ssm[S[i]]++ } if k != -1 && cmpMap(tm,ssm){ if k >len(S)-len(T){ break } cur :=S[k:i+1] if len(minStr)>len(cur) || len(minStr)==0 { minStr = cur } i=k k=-1 ssm = make(map[byte]int,0) } } return minStr } func cmpMap(t, s map[byte]int)bool { if len(t) != len(s){ return false } for k,v :=range s { if v < t[k] { return false } } return true }