leetcode:找到字符串中所有字母异位词
题目:
给定两s和p中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。
示例 :
| 输入 | 输出 | 解释 |
|---|---|---|
s = "cbaebabacd", p = "abc" | [0,6] | 起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。 起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。 |
提示:
- 1<=s.length,p.length<=3*10^4
- s和p仅包含小写字母
相关标签:哈希、字符串、滑动窗口
题解:
根据题目中的提示,我们可以先统计出字符串p的个数,再for循环遍历统计字符串s的个数。利用滑动窗口来确定比较范围,字符串p的长度。如果统计个数相等,即是p的异位词。
注意:Counter统计个数为0的元素依旧存在,如果直接与p的统计个数比较是错误的,所以需要判断新元素是否在p里面,添加元素值为0。
代码:Python
import collectionss = "cbaebabacd"
p = "abc"def leetcode_fun1():'''1、滑动窗口,一次遍历2、异位词比较:计数元素个数'''n, m, pl, res = len(p), len(s), collections.Counter(p), list()if m < n:return []pro, pre = 0, n - 1while pre < m:if pl == collections.Counter(s[pro:pre + 1]):res.append(pro)pro += 1pre += 1return resdef leetcode_fun2():'''1、滑动窗口、一次遍历,异位词比较:计数元素个数'''res, n, m = list(), len(p), len(s)cnt_p = collections.Counter(p)cnt_s = collections.Counter()for i in range(m):cnt_s[s[i]] += 1if s[i] not in p:cnt_p[s[i]] = 0if i >= n:cnt_s[s[i - n]] -= 1if cnt_s == cnt_p:res.append(i - n + 1)return resif __name__ == '__main__':res = leetcode_fun2()print(res) # [0, 6]
总结:
题目内容来源于leetcode链接:找到字符串中所有字母异位词
相关文章:
leetcode:找到字符串中所有字母异位词
题目: 给定两s和p中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 : 输入 输出 解释 s "cbaebabacd", p "…...
C语言学习
学习内容 两道题目 猜数字游戏 goto语句 关机程序 代码 //4.编写代码,演示多个字符从两端移动,向中间汇聚 welcome to china!!!! //#include<windows.h> //#include<stdlib.h> //int main() //{ // char arr1[] "welcome to c…...
Java面试题:MySQL高频面试题
MySQL常见面试题01 1、B树跟B树的区别? MySQL为什么选择B树来存储索引? 层数低,可以存放的数据多 2、InnoDB和MyISAM的区别? i:天生支持行锁,手动支持表锁,有事务,索引和数据一起存储 m:支持表锁不支持行锁,无事务,索引和数据分开存储 3、…...
使用js给数字进位,比如23333元进位成2.33万元
文章目录 一、进位函数:二、使用:总结 一、进位函数: //数字进位getUnitObjWithNumber(value){let dataconst returnObj {}let dw let chengshu 1if (isNaN(value)) {data 0} else {data parseFloat(value)}if (Math.abs(data) < 100…...
Java二十三种设计模式-享元模式(12/23)
享元模式:高效管理大量对象的设计模式 引言 在软件开发中,有时需要处理大量相似或重复的对象,这可能导致内存使用效率低下和性能问题。享元模式提供了一种解决方案,通过共享对象的共同部分来减少内存占用。 基础知识,…...
腾讯云AI代码助手助力软件开发体验分享
引言 现在,AI工具在软件开发中变得越来越重要,它们能显著提升效率和代码质量。本文就来分享一下我用腾讯云AI代码助手的经历,看看它是怎么在开发中帮了大忙的。 开发环境介绍 这次的项目用的是JavaScript,开发环境是Windows 10…...
Leetcode力扣刷题——182.查找重复的电子邮箱
题目 编写解决方案来报告所有重复的电子邮件。 请注意,可以保证电子邮件字段不为 NULL。 以 任意顺序 返回结果表。 结果格式如下例。 结果 # Write your MySQL query statement below select Email from Person group by email having count(*)>1; 知识点 c…...
idea中好用的插件
输入法自动切换插件 自动切换输入法插件:Smart Input。编写代码时自动切换到英文输入法,注释代码自动切换为中文输入法。极大的提升我们的编码效率。 MyBatisX插件 MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。主要用于XML映射配…...
spring 代码执⾏ (CVE-2018-1273)漏洞
一 漏洞简介 Spring Data 是⼀个⽤于简化数据库访问,并⽀持云服务的开源框架,Spring Data Commons 是 Spring Data 下所有⼦项⽬共享的基础框架。Spring Data Commons 在 2.0.5 及 以前版本中,存在⼀处 SpEL 表达式注⼊漏洞,攻击…...
幺麻子曲折上市路:毛利率近四年下滑不少,存货出现较大增长
《港湾商业观察》廖紫雯 近期,幺麻子食品股份有限公司(以下简称:幺麻子)申请股票在全国股份转让系统挂牌并公开转让,拟挂牌新三板。 幺麻子此前上市之路可谓一波三折。2022年9月,公司向四川证监局提交辅导…...
Sol盗u、sol链上的USDT盗窃:警惕恶意智能合约
随着区块链技术的普及,Solana链上的应用和用户数量不断增加。然而,这也为不法分子提供了可乘之机,恶意智能合约逐渐成为盗取USDT等加密资产的一种常见手段。本文将详细介绍恶意智能合约的工作原理,并提供防范措施,帮助…...
jupyter for c++
jupyter for c++ jupyter for c++ jupyter for c++配置环境问题参考文档配置环境 需要 clang 编译器 安装 aconda 默认情况下,anaconda navigator包与anaconda Distribution一起安装,并包含依赖包qt。默认情况下,qt的所有依赖项也应安装,但某些版本的Anaconda Distribution…...
TCP Analysis Flags 之 TCP Window Full
前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…...
相关性检验
文章目录 Pearson相关系数Spearman等级相关系数Cochrans Q检验Kappa一致性系数Kendall相关系数实例分析总结 在数据分析的广阔天地中,相关性检验是探索变量间关系的一把钥匙。本文将带领大家了解几种常用的相关性检验方法:Pearson、Spearman、Cochran’s…...
【python】Django运行报错分析:ImproperlyConfigured 错误解决办法
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
AS01/AS11 创建固资和子资产
AS01:创建资产卡片 定义该资产的折旧费用,应该归结到哪个成本中心。 如果一台设备停止使用,可以勾选。停止折旧。 该界面维护折旧码和折旧的时间。 维护完之后点击保存。 系统生成一个资产卡片号。 AS02-修改资产卡片号 更改不同时间段&…...
vue3数字动画插件countup.js
countup.js 是一个轻量级的 JavaScript 库,允许你为网站上显示统计数据或计数器时平滑地动画化数字。CountUp 类被用来创建计数器实例,可以平滑地从一个数值变化到另一个数值。 只是用户视觉更好一些。 1、安装插件 npm i countup.js2、个人是封装了组件…...
aspeed2600 GPIO分析与适配ipmitool power status, ipmitool power on/off
1.说明 本节以x86-power-control/src/power_control.cpp为基础,分析整个GPIO的调用流程,实现简单的ipmitool power on/off,ipmitool power status的管理。 1.资源:x86-power-control:https://github.com/openbmc/x86-power-control2.相关文件: meta-ph…...
在C#中配置ini文件以及封装ini类
在C#中使用 DllImport 属性从 kernel32.dll 导入函数来写入和读取Windows的INI文件,你可以使用 WritePrivateProfileString 来写入数据,使用 GetPrivateProfileString 来读取数据。 以下是如何使用这些函数的示例: 写入INI文件 using Syst…...
使用git上传代码到github
1、设置用户名及邮箱 git config user.name"你的用户名"git config user.email"xxxxx.com" 2、查看配置 git config -l 3、生成秘钥 ssh-keygen -t rsa 根据上图中红框标出的id_rsa.pub地址,找到它,使用txt文件打开,复…...
2025届必备的五大AI科研方案推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 使AIGC(人工智能生成内容)检测率降低的关键之处在于弱化文本所具有的…...
2026年文档生成工具榜单:8 款实力派工具,效率与体验双优
2026 年,数字化办公已全面迈入智能化深水区,文档作为企业知识沉淀、业务流转与团队协同的核心载体,其智能化程度直接决定组织效率上限。据艾瑞咨询《2025 年中国智能办公应用趋势报告》显示,超 80% 企业将实时内容共创与知识沉淀视…...
如何在Linux上快速安装Linuxbrew:10分钟完成设置终极指南
如何在Linux上快速安装Linuxbrew:10分钟完成设置终极指南 【免费下载链接】brew :beer::penguin: The Homebrew package manager for Linux 项目地址: https://gitcode.com/gh_mirrors/bre/brew 想在Linux系统上轻松管理软件包吗?Linuxbrew就是你…...
运用AIBIYE的智能改写工具,掌握五大实用技巧,有效降低论文重复率至合规范围。
嘿,大家好!我是AI菌。今天咱们来聊聊一个让无数学生头疼的问题:论文重复率飙到30%以上怎么办?别慌,我这就分享5个实用降重技巧,帮你一次搞定,轻松压到合格线以下。这些方法都是我亲身试验过的&a…...
告别默认丑样式!手把手教你用WPF的ControlTemplate打造高颜值TreeView(附完整XAML代码)
从零打造高颜值WPF TreeView:深度定制ControlTemplate实战指南 每次打开Visual Studio新建WPF项目时,看到那个灰头土脸的默认TreeView控件,总有种说不出的失落感。作为数据展示的核心控件之一,TreeView在文件浏览器、配置面板、数…...
如何用ContextMenuManager轻松管理Windows右键菜单:终极效率提升指南
如何用ContextMenuManager轻松管理Windows右键菜单:终极效率提升指南 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是不是也经常被Windows右键菜…...
如何将应用程序从三星传输到三星 [快速传输]
升级到像三星 Galaxy S25/S25 Ultra 这样的新手机总是令人兴奋的,但当涉及到将应用程序等数据从旧三星手机传输到新三星手机时,就会变得棘手。在新三星手机上手动安装 Play 商店中所有常用的应用程序非常耗时。那么,如何高效地将应用程序从三…...
微电网优化调度:PSO与SSA算法的奇妙碰撞
Matlab代码:微电网的优化调度,以微电网的运行成本最小为目标进行优化,并把失负荷惩罚成本计入总目标当中,分别采用PSO算法和麻雀搜索算法(SSA算法,2020年新提出)进行优化求解,可分别…...
2024年流浪星球比赛
2024年暑假,我去到河北参加流浪星球比赛现场人很多,调试的人排队很长,不过调试很快60分钟的时间13分钟就弄完了。拿了国一比完赛后,我又去北京爬长城,长城的确难爬,道路已有些坑坑洼洼很多人不讲文明在墙上…...
行业内GEO优化服务哪家可靠
行业内可靠的GEO优化服务之选在当今数字化时代,随着用户搜索习惯从传统搜索引擎向生成式AI平台转型,企业面临着传统SEO/社媒营销失效、品牌曝光锐减等问题。GEO(生成式引擎优化)优化服务成为企业抢占AI搜索流量高地的关键。那么&a…...
