当前位置: 首页 > news >正文

LeetCode 438:找到字符串中所有字母异位词 | 滑动窗口

LeetCode 438:找到字符串中所有字母异位词 | 滑动窗口

引言

找到字符串中所有字母异位词(Find All Anagrams in a String)是 LeetCode 第 438 题,难度为 Medium。题目要求在字符串 s 中找到所有字符串 p 的字母异位词的起始索引。

字母异位词是指两个字符串包含相同字符但可能排列顺序不同。

算法实现

Python 实现

def findAnagrams(s, p): from collections import Counter need = Counter(p) window = {} left, right = 0, 0 valid = 0 result = [] while right < len(s): c = s[right] right += 1 if c in need: window[c] = window.get(c, 0) + 1 if window[c] == need[c]: valid += 1 while right - left >= len(p): if valid == len(need): result.append(left) d = s[left] left += 1 if d in need: if window[d] == need[d]: valid -= 1 window[d] -= 1 return result

复杂度分析

时间复杂度:O(n + m)
空间复杂度:O(m)

总结

滑动窗口同样适用于异位词问题,只需维护字符计数即可。

http://www.jsqmd.com/news/895377/

相关文章:

  • Numeca在Linux下的两种安装路径选择:/usr/ 还是 /home/?权限管理与后续使用对比
  • 从37欧元账单到3.5欧元:Serverless架构重构实战与云成本优化指南
  • Hitboxer SOCD Cleaner:解决游戏键盘输入冲突的终极方案
  • 苏州可靠的宠物店怎么选 关键因素解析 - 品牌排行榜
  • Canopy:从模糊指令到精准AI技能,构建可复用AI能力平台
  • 2026年5月液压升降平台厂家推荐:TOP5排名专业评测工业厂房重载升降性价比高 - 品牌推荐
  • 不确定系统中的多目标规划模型与应用【附代码】
  • Page Assist终极指南:在浏览器中安全使用本地AI的完整教程
  • 深度解析:3步实现Wallpaper Engine资源逆向工程与高效提取
  • Seraphine:英雄联盟玩家的3大智能辅助完整指南,告别信息焦虑
  • C4002 毫米波人体存在传感器:基于 PC 串口的测试方法与结果分析
  • 2026年4月国内比较好的AI无损测糖选果机品牌推荐,小柿子选果机/冬枣选果机,AI无损测糖选果机制造商哪家权威 - 品牌推荐师
  • EFM32开发板SWD通信故障排查与优化
  • Kali 2024.1 新装后,USB网卡(RT5370芯片)驱动安装保姆级避坑指南
  • HsMod:炉石传说游戏体验全方位优化插件终极指南
  • Unity 2018+ 版本里,那个消失的Standard Assets去哪了?手把手教你从Asset Store找回并修复BUG
  • Python循环不会写?for和while实战技巧大公开
  • ThinkPad开机滴滴响或显示Fan error/2100硬盘错误?保姆级拆机清灰与硬件检测指南(避免误判主板问题)
  • 告别命令行!用VSCode+PyQt5+QtDesigner,10分钟搞定你的第一个Python桌面应用
  • 突破《原神》60帧限制:安全高效的帧率解锁方案
  • Unity 2018+ 版本如何从Asset Store找回并导入Standard Assets(附旧脚本修复指南)
  • Kali Linux网卡驱动安装避坑大全:从RT5370到linux-headers,新手常踩的5个雷我都帮你排了
  • 2026市面上耐用的给水pph管厂家推荐榜单 - 品牌排行榜
  • LeetCode 10:正则表达式匹配 | 动态规划
  • EhViewer开源漫画浏览器:5个技巧打造你的专属漫画阅读体验
  • 别再只盯着BIOS了!聊聊ACPI这个‘隐形管家’如何管好你电脑的睡眠与唤醒
  • 我学了四门编程语言,最后靠一门“最无聊”的语言拿到了5个offer
  • 2025-2026年上海1500万-2000万新房项目推荐:五大楼盘评测夜间通勤防疲惫避免学区不确定注意事项 - 品牌推荐
  • 老服务器焕新颜:在DELL T430上部署定制版ESXi 6.7U3的完整避坑指南
  • MCP开发者峰会解读:Python SDK v1.27.0发布与OAuth 2.1认证共识