滑动窗口(Sliding Window)问题经常使用快慢指针(slow, fast pointer)
- [0, slow) 的区域为滑动窗口已经探索过的区域
- [slow, fast]的区域为滑动窗口正在探索的区域
- (fast, end of array)为待探索的区域
Sliding Window的问题主要分为:
- fixed size sliding window
- dynamic size sliding window
先来看看fixed size sliding window相关的问题
1.Strstr:
Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
Input: haystack = "hello", needle = "ll"
Output: 2
class Solution(object):
def strStr(self, haystack, needle):
"""
:type haystack: str
:type needle: str
:rtype: int
"""
if needle == '':
return 0
l = len(needle)