找到字符串中所有字母异位词【滑动窗口】

Problem: 438. 找到字符串中所有字母异位词

文章目录

思路 & 解题方法

主要需要注意s长度可能比p短

复杂度

时间复杂度:

添加时间复杂度, 示例: O ( 26 n ) O(26n) O(26n)

空间复杂度:

添加空间复杂度, 示例: O ( n ) O(n) O(n)

Code

python 复制代码
class Solution:
    def findAnagrams(self, s: str, p: str) -> List[int]:
        count_s, count_p = [0] * 26, [0] * 26
        len_s, len_p = len(s), len(p)
        if len_s < len_p:
            return []
        for ch in p:
            count_p[ord(ch) - ord('a')] += 1
        
        for i in range(len_p):
            count_s[ord(s[i]) - ord('a')] += 1
        left, right = 0, len_p - 1
        ans = []
        if count_p == count_s:
            ans.append(left)
        while right < len_s -1:
            count_s[ord(s[left]) - ord('a')] -= 1
            count_s[ord(s[right + 1]) - ord('a')] += 1
            left += 1
            right += 1
            if count_p == count_s:
                ans.append(left)
        return ans
相关推荐
GGBondlctrl9 天前
【JavaEE初阶】网络原理—关于TCP协议值滑动窗口与流量控制,进来看看吧!!!
网络·网络协议·tcp/ip·滑动窗口·流量控制·拥塞控制·tcp协议特性
搞笑症患者18 天前
LeetCode Hot100 - 滑动窗口篇
算法·leetcode·滑动窗口
freephp19 天前
细聊滑动窗口
滑动窗口
Trouvaille ~20 天前
【优选算法篇】踏入算法的深邃乐章:滑动窗口的极致探秘
开发语言·数据结构·c++·算法·面试·滑动窗口·哈希表
中间件XL21 天前
sentinel原理源码分析系列(六)-统计指标
sentinel·滑动窗口·指标统计
UestcXiye21 天前
Leetcode 第 359 场周赛题解
c++·leetcode·动态规划·滑动窗口·数据结构与算法
ZachOn1y23 天前
计算机网络:数据链路层 —— 可靠传输服务
网络·计算机网络·滑动窗口·数据链路层·可靠传输·超时重传
Espresso Macchiato25 天前
Leetcode 3321. Find X-Sum of All K-Long Subarrays II
leetcode·滑动窗口·leetcode hard·leetcode 3321·leetcode周赛419
初晴~1 个月前
【网络原理】TCP协议提高效率的秘密-滑动窗口机制
服务器·网络·c++·python·网络协议·tcp/ip·滑动窗口
夏叶叶叶叶1 个月前
LeetCode 2831.找出最长等值子数组(cpp, python3)
c++·python·算法·leetcode·滑动窗口