news 2026/3/16 21:31:36

数据结构与算法:Find All Anagrams in a String

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据结构与算法:Find All Anagrams in a String

给出两个字符串s和p,当s中存在p的异构串时,返回所有s中对应的所有起点位置。

Example 1:

Input: s="cbaebabacd", p="abc"Output:[0,6]Explanation: The substring with start index=0is"cba",whichis an anagram of"abc".The substring with start index=6is"bac",whichis an anagram of"abc".

Example 2:

Input: s="abab", p="ab"Output:[0,1,2]Explanation: The substring with start index=0is"ab",whichis an anagram of"ab".The substring with start index=1is"ba",whichis an anagram of"ab".The substring with start index=2is"ab",whichis an anagram of"ab"
importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;publicclassCode_FindAllAnagramsInAString{publicstaticList<Integer>findAnagrams(Strings,Stringp){List<Integer>ans=newArrayList<>();char[]str=s.toCharArray();char[]ptr=p.toCharArray();intM=p.length();Map<Character,Integer>map=newHashMap<>();intall=M;intN=str.length;if(M>N){returnans;}for(inti=0;i<M;i++){if(map.containsKey(ptr[i])){map.put(ptr[i],map.get(ptr[i])+1);}else{map.put(ptr[i],1);}}for(intend=0;end<M-1;end++){if(map.containsKey(str[end])){intcount=map.get(str[end]);if(count>0){all--;}map.put(str[end],count-1);}}// map表相当于一张欠表。 别人欠我多少。// 比如p字符串 abc. 那么map的数据是 a,1; b,1; c,1; 别人欠我1个// a, 欠1个b,欠1个c. all变量表示一共欠多少。for(intend=M-1,start=0;end<N;end++,start++){if(map.containsKey(str[end])){intcount=map.get(str[end]);if(count>0){all--;}map.put(str[end],count-1);}if(all==0){ans.add(start);}if(map.containsKey(str[start])){intcount=map.get(str[start]);if(count>=0){all++;}map.put(str[start],count+1);}}returnans;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 22:57:47

内网 NAS 也能远程管?Ansible+cpolar 解锁便捷运维新方式

Ansible 的核心功能是通过 “剧本” 形式对多台远程设备执行批量操作&#xff0c;小到创建文件、新建目录&#xff0c;大到软件部署、系统配置&#xff0c;都能无需代理、通过 SSH 协议完成&#xff0c;是一款兼顾灵活性和易用性的自动化运维工具。 作为长期使用 Ansible 管理…

作者头像 李华
网站建设 2026/3/13 11:18:13

AI驱动黑客马拉松:自动测试参赛项目的技术实践与范式革新

一、黑客马拉松的测试痛点与AI破局路径 在极限编程场景中&#xff0c;传统测试面临三大核心矛盾&#xff1a; 时间压缩与测试完整性的冲突&#xff08;48-72小时开发周期需覆盖全生命周期测试&#xff09; 环境异构性带来的适配困境&#xff08;跨平台、多语言技术栈的即时验…

作者头像 李华
网站建设 2026/2/24 13:28:23

从零理解卷积神经网络(CNN):比全连接强在哪?

从零理解卷积神经网络&#xff08;CNN&#xff09;&#xff1a;比全连接强在哪&#xff1f;深入浅出解析CNN核心原理&#xff0c;一文读懂卷积、填充、步幅与特征图引言&#xff1a;为什么需要CNN&#xff1f; 在图像识别、自动驾驶、医疗影像分析等领域&#xff0c;卷积神经网…

作者头像 李华
网站建设 2026/3/14 11:40:01

【完整源码+数据集+部署教程】航拍区域图像分割系统源码&数据集分享 [yolov8-seg-C2f-DAttention&yolov8-seg-HGNetV2等50+全套改进创新点发刊_一键训练教程

背景意义 随着无人机技术的迅猛发展&#xff0c;航拍图像在环境监测、城市规划、农业管理等领域的应用愈发广泛。航拍图像的高分辨率和大范围覆盖能力&#xff0c;使其成为获取地面信息的重要手段。然而&#xff0c;如何从海量的航拍图像中快速、准确地提取出有用的信息&#…

作者头像 李华
网站建设 2026/3/14 15:23:47

小白版详解:剪枝怎么评好坏?怎么判断该剪谁?

这部分内容核心就两件事&#xff1a; 怎么打分&#xff1a;剪完的模型好不好&#xff0c;用什么“考卷”、什么“参考机器”、看哪些“分数项”来评判&#xff1b;怎么选人&#xff1a;剪枝时该裁掉网络的哪部分&#xff0c;用什么标准判断“这部分没用&#xff0c;可以剪”。第…

作者头像 李华
网站建设 2026/3/15 19:33:10

小鼠CD185抗体如何助力CXCR5靶向ADC药物的研发与机制探索?

一、CXCR5在肿瘤免疫微环境中扮演何种复杂角色&#xff1f;趋化因子受体CXCR5及其主要配体CXCL13构成的信号轴&#xff0c;在淋巴组织形成与免疫细胞迁移中发挥核心作用。该受体主要在B淋巴细胞、滤泡辅助T细胞等免疫细胞亚群上高表达。在肿瘤微环境中&#xff0c;CXCL13-CXCR5…

作者头像 李华