数组_leetcode76

# 解题思路: 组合问题   20190302 找工作期间

# (0,n)-> (a,b) 查找问题
# 搜索树的 剪支 (0,n) -> [(0,n-1),(1,n)]

#具体思路 :
# 字典计数 然后判断搜索路径

from collections import defaultdict
class Solution:
def minWindow(self, s, t):
mem = defaultdict(int)
for c in t:
mem[c] += 1

t_len = len(t)
minL, minR = 0, float('inf')
l = 0
for r, c in enumerate(s):
if mem[c] > 0:
t_len -= 1
mem[c] -= 1

if t_len == 0:
while mem[s[l]] < 0:
mem[s[l]] += 1
l += 1
if r - l < minR - minL:
minL, minR = l, r
mem[s[l]] += 1
t_len += 1
l += 1
return '' if minR == float('inf') else s[minL:minR+1]
原文地址:https://www.cnblogs.com/lux-ace/p/10546854.html