news 2026/10/24 4:13:59

力扣hot100——找到字符串中所有字母异位词

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣hot100——找到字符串中所有字母异位词

一、题目

给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。

示例 1:

输入:s = "cbaebabacd", p = "abc"输出:[0,6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。 起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。

示例 2:

输入:s = "abab", p = "ab"输出:[0,1,2]解释:起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。 起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。 起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。

二、解答实现

相当于是用字符串p与匹配字符串s,与上一道滑动窗口题目不一样的是,这个窗口大小明显是固定的,就是p的长度。拿大小是p长度的滑动窗口去一个个找。但是如果我们每遍历一个窗口,就要把小窗口中所有元素再遍历完一遍去对照哈希表,这样复杂度也是很高的。在python中我们可以借助排序这个api,对照两个字符串是否相等就可以。具体代码如下:

from typing import List class Solution: def findAnagrams(self, s: str, p: str) -> List[int]: sorted_p = sorted(p) # 直接将p排序 left, right = 0, len(p) - 1 # 窗口左右边界,固定大小。同时移动 ans = [] while right < len(s): if sorted(s[left, right + 1]) == sorted_p: # 找到了异位词 ans.append(left) # 添加左边界 left += 1 right += 1 else: left += 1 right += 1 return ans
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 4:13:46

用 KMF 钢丝轨道轴承KVE 08 0350 算 BPFO_BPFI_BSF_FTF,再用包络谱反查

低转速、大直径的回转支承类轴承&#xff0c;它的故障冲击频率往往落在几十赫兹&#xff0c;时域波形和常规频谱都被轴频与齿轮啮合盖住&#xff0c;直接看不出毛病。我们做在线监测时&#xff0c;第一步是把 BPFO、BPFI、BSF、FTF 这四个特征频率算准&#xff0c;再用包络谱把…

作者头像 李华
网站建设 2026/10/24 4:13:38

7×24小时自动巡检,中小银行的合规安全感来了

先说关键信息&#xff1a;中小银行的合规安全感&#xff0c;来自"持续在线的巡检"&#xff0c;而不是"测评前的突击"中小银行科技岗最深的焦虑很具体&#xff1a;监管要求向大行看齐&#xff0c;预算和编制却只有大行的零头。等保测评、监管检查、重保值守…

作者头像 李华
网站建设 2026/10/24 4:12:57

共聚焦显微镜与白光干涉仪的陡坡测量技术对比

在微光学元件、微纳结构或复杂曲面检测中&#xff0c;有个问题很实际&#xff1a;设备完成了扫描&#xff0c;不等于每个表面位置都拿到了有效数据。双光子光刻微结构形貌测量尤其如此&#xff0c;陡坡区域噪声升高、点云缺失&#xff0c;同一位置反复扫描的结果甚至对不上&…

作者头像 李华
网站建设 2026/10/24 4:12:57

Pycharm安装激活AI Assistant并启用codex

主要分为两个部分&#xff1a; 安装 AI Assistant&#xff1a;解决插件无法启用、远程 IDE 版本不一致等问题。激活 Codex&#xff1a;用户地区调整、使用 ChatGPT 账号登录 Codex&#xff0c;验证 AI 模型调用是否正常。 一、安装AI Assistant 1.1 安装 JetBrains AI Assis…

作者头像 李华
网站建设 2026/10/24 4:12:47

免环境折腾,OpenClaw 文档自动化与插件扩展教程

&#x1f4d6; 前言 本文面向 Windows 系统用户&#xff0c;系统梳理 OpenClaw 的标准化部署流程。全程无需输入任何命令&#xff0c;所有操作均可通过可视化向导完成&#xff0c;即使是零基础用户&#xff0c;也能独立走完整套部署流程。文中同时汇总了高频报错对应的解决方案…

作者头像 李华
网站建设 2026/10/24 4:11:48

QML 自定义dial:实现一个带银色质感的旋钮

目录 角度工具 演示代码 代码说明 工程下载 这篇讲一个银色质感的旋钮:拖动或滚轮改 0~100,指针从内圈的凹槽指到外圈刻度内沿,看上去像台面上凸起的一块。主题色、刻度、指针全是代码画的,除了 Qt Quick 本身没有别的依赖。 两层画布和一层交互怎么串起来,流程如下: #me…

作者头像 李华