力扣hot100_滑动窗口_python版本

一、3. 无重复字符的最长子串

力扣hot100_滑动窗口_python版本_第1张图片

  • 思路:这道题如果知道列表可以使用.index()得到该值在列表中的位置索引那就很简单。
  • 代码:
class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        tmpStr = []
        maxLen = 0
        for i in s:
            if i not in tmpStr:
                tmpStr.append(i)
                maxLen = max(maxLen, len(tmpStr))
            else:
                index = tmpStr.index(i)               
                tmpStr = tmpStr[index+1:]
                tmpStr.append(i)
        return maxLen

二、438. 找到字符串中所有字母异位词

力扣hot100_滑动窗口_python版本_第2张图片

  • 思路:用哈希哪里求解字母异位词的方法 ‘’.join(sorted§)
  • 代码:
class Solution:
    def findAnagrams(self, s: str, p: str) -> List[int]:
        strLen = len(p)
        newStr = "".join(sorted(p))
        res = []
        for i in range(len(s) - len(p) + 1):
            str1 = "".join(sorted(s[i:i+strLen]))
            if newStr == str1:
                res.append(i)
        return res

你可能感兴趣的:(力扣,leetcode,python,算法)