
class Solution(object):
def checkInclusion(self, s1, s2):
"""
:type s1: str
:type s2: str
:rtype: bool
"""
# 滑动窗口
# 这个题与28是同类的,都是定长的滑动窗口问题
# 不同在于,此题考虑到排列,排列乍一看比较麻烦,需要考虑的情况很多
# 我们可以用字典来表示,不管如何排列,只要每个字符都一样,那么肯定可以排列出来
# 引用collections中的Counter来作为字典,进行排序的判断
star = 0
from collections import Counter
temp = Counter(s1)
for end in range(len(s1)-1, len(s2)):
if Counter(s2[star:end+1]) == temp:
return True
star += 1
return False
该博客讨论了一个Python编程问题,涉及字符串处理和滑动窗口技术。文章介绍了一个名为`checkInclusion`的方法,该方法通过使用collections库中的Counter类来判断一个字符串`s2`是否包含另一个字符串`s1`的所有字符,无论`s1`字符的顺序如何。方法通过遍历`s2`的子串并比较它们与`s1`的字符计数是否相同来实现这一目标。这是一个关于字符串处理和排列算法的实例。
728

被折叠的 条评论
为什么被折叠?



