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

【LeeCode】438.找到字符串中所有字母异位词

给定两个字符串 sp,找到 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" 的异位词。

解:

class Solution {public List<Integer> findAnagrams(String s, String p) {int sLen = s.length(), pLen = p.length();
​if (sLen < pLen) {return new ArrayList<Integer>();}
​List<Integer> ans = new ArrayList<Integer>();int[] sCnt = new int[26];int[] pCnt = new int[26];for (int i = 0; i < pLen; i++) {sCnt[s.charAt(i) - 'a']++;pCnt[p.charAt(i) - 'a']++;}if (Arrays.equals(sCnt, pCnt)) {ans.add(0);}for (int i = 0; i < sLen - pLen; i++) {sCnt[s.charAt(i) - 'a']--;sCnt[s.charAt(i + pLen) - 'a']++;
​if (Arrays.equals(sCnt, pCnt)) {ans.add(i + 1);}}return ans;
​
​}
}

相关文章:

  • Opencv获取笔记本摄像头
  • 知识点滴 - 什么是AECS-PRM
  • JVM中 Minor GC 和 Full GC 的区别
  • 【报名】2023产业区块链生态日暨 FISCO BCOS 开源六周年生态大会
  • centos用什么命令可查看版本号
  • 【西南交大swjtu微机与接口技术实验】D/A变换实验实验三:波形发生器
  • 【DevOps】Jenkins:配置jenkins 流水线/多分支流水线任务构建成功通知企业微信@相关人(二)
  • 【超详细教程】基于html+js实现轮播图
  • 关于如何解决问题?代码习惯。
  • Jupyter NoteBook未授权访问漏洞
  • 制作一个RISC-V的操作系统三-编译与链接
  • 后端部署-阿里云服务器-开设端口-域名解析-安全证书-备案
  • C#,数值计算——计算实对称矩阵所有特征值和特征向量的雅可比(Jacobi)方法与源程序
  • 源码安装git
  • 【BUG】SpringBoot项目Long类型数据返回前端精度丢失问题
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • angular组件开发
  • AWS实战 - 利用IAM对S3做访问控制
  • co模块的前端实现
  • HTTP请求重发
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript-Array类型
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • miaov-React 最佳入门
  • MySQL QA
  • RxJS: 简单入门
  • vue总结
  • Web Storage相关
  • 不上全站https的网站你们就等着被恶心死吧
  • 面试总结JavaScript篇
  • 七牛云假注销小指南
  • 浅谈web中前端模板引擎的使用
  • 如何优雅地使用 Sublime Text
  • 推荐一个React的管理后台框架
  • Spring第一个helloWorld
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​学习一下,什么是预包装食品?​
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (0)Nginx 功能特性
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .NET Core 成都线下面基会拉开序幕
  • .Net下的签名与混淆
  • .Net中wcf服务生成及调用
  • .sh
  • [ 转载 ] SharePoint 资料
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [《百万宝贝》观后]To be or not to be?