LeetCode||76. Minimum Window Substring
来源:互联网 发布:人工智能对人类的影响 编辑:程序博客网 时间:2024/06/08 00:35
Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).
For example,
S = "ADOBECODEBANC"
T = "ABC"
Minimum window is "BANC"
.
Note:
If there is no such window in S that covers all characters in T, return the empty string ""
.
If there are multiple such windows, you are guaranteed that there will always be only one unique minimum window in S.
t中的字符可能为重复字符,需要先用字典记录每次字符出现的次数;要判断窗口中是否出现了所有字符,首先需要两个指针表示窗口的位置,尾指针不断往后扫,当扫到有一个窗口包含了所有T的字符,然后再收缩头指针,直到不能再收缩为止。最后记录所有可能的情况中窗口最小的。class Solution(object): def minWindow(self, s, t): """ :type s: str :type t: str :rtype: str """ count1 = {} count2 = {} for char in t: if char not in count1: count1[char] = 1 count2[char] = 1 else: count1[char] += 1 count2[char] += 1 count = len(t) start = 0 minSize = len(s) + 1 minStart = 0 for end in range(len(s)): if s[end] in count2 and [s[end]] > 0: count1[s[end]] -= 1 if count1[s[end]] >= 0: count -= 1 if count == 0: while True: if s[start] in count2 and count2[s[start]] > 0: 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 s[minStart:minStart + minSize] else: return ''
阅读全文
0 0
- LeetCode 76. Minimum Window Substring
- [LeetCode]76.Minimum Window Substring
- LeetCode 76.Minimum Window Substring
- LeetCode --- 76. Minimum Window Substring
- [Leetcode] 76. Minimum Window Substring
- [leetcode] 76.Minimum Window Substring
- **LeetCode 76. Minimum Window Substring
- leetcode 76. Minimum Window Substring
- 【LeetCode】76. Minimum Window Substring
- LeetCode 76. Minimum Window Substring
- Leetcode 76. Minimum Window Substring
- leetcode.76. Minimum Window Substring
- LeetCode 76. Minimum Window Substring
- [LeetCode] 76. Minimum Window Substring
- leetcode 76.Minimum Window Substring
- leetcode 76. Minimum Window Substring
- 76. Minimum Window Substring, leetcode
- leetcode-76. Minimum Window Substring
- Hopfield神经网络
- [javaweb]jsp+servlet+mysql购书网站
- 在GTK+中实现嵌入式窗口
- 长风破浪会有时,直挂云帆济沧海
- react-router 路由控制页面跳转
- LeetCode||76. Minimum Window Substring
- 尾递归优化(es6)
- vim 如何快速复制多行
- 通过代理访问进行了安全性设置的服务
- linux双网卡绑定
- 我的javascript权威指南-6
- robots.txt SEO 与搜索引擎
- 指定数组同时指定要查找的数,找出这个数在数组中的起始位置和结束位置
- 一、正确姿势搭建maven+web项目