力扣 | 438. 找到字符串中所有字母异位词

滑动窗口解题
在这里插入图片描述
示例

在这里插入图片描述

在s里面控制一个p字符串长度的滑动窗口,统计该滑动窗口中的每种字符出现的次数

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Problem_438_FindAnagrams {
    public List<Integer> findAnagrams(String s,String p){
        int sLen = s.length();int pLen = p.length();
        if(s == null || p == null || sLen < pLen) return new ArrayList<>();//过滤
        int [] sCount = new int[26];//都是小写字母,初始化为26个字母的数组统计每个字符出现的次数
        int [] pCount = new int[26];//都是小写字母,初始化为26个字母的数组统计每个字符出现的次数
        List<Integer> res = new ArrayList<>();
        //先统计第一个窗口中
        for (int i = 0; i < pLen; i++) {
            ++sCount[s.charAt(i) - 'a'];
            ++pCount[p.charAt(i) - 'a'];
        }
        //第一个窗口是否含有字母异位词,如果是,返回一个位置0
        if(Arrays.equals(sCount,pCount))res.add(0);

        for (int i = 0; i < sLen - pLen; i++) {
            //依次向后移动窗口,前面一个位置的字符出现次数置为0,方便Arrays.equals(sCount,pCount)
            --sCount[s.charAt(i) - 'a'];
            //每向后移动一位,就判定一下时候这个窗口是p的异位词
            ++sCount[s.charAt(i + pLen) - 'a'];
            if(Arrays.equals(sCount,pCount))res.add(i + 1);
        }
        return res;
    }
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/335281.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开放签开源工具版更新至1.1版本,进一步提升电子签名服务能力

本周开放签开源工具版增加了SDK与API能力&#xff0c;更新至1.1版本&#xff0c;使开放签电子签章工具能力进一步提升。 SDK将便于java用户直接使用CA证书颁发和签名能力。API接口采用HTTP&#xff08;S&#xff09;通讯&#xff0c;JSON报文格式&#xff0c;具有跨平台、跨语…

力扣hot100 最长有效括号 动态规划

Problem: 32. 最长有效括号 文章目录 思路Code 思路 &#x1f468;‍&#x1f3eb; 参考题解 Code ⏰ 时间复杂度: O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( n ) O(n) O(n) class Solution {public int longestValidParentheses(String s){int n s.length();…

electron使用rollup打包后,运行报错Could not dynamically require……

同学们可以私信我加入学习群&#xff01; 正文开始 分析解决总结 分析 这报错信息意思是rollup不支持动态的require&#xff0c;全部报错信息为&#xff1a; Could not dynamically require “./src/cat”. Please configure the dynamicRequireTargets or/and ignoreDynamic…

spring-boot项目,mybatis只读取了父模块的mapper目录,子模块的mapper目录读取不到

spring-boot项目&#xff0c;mybatis只读取了父模块的mapper目录&#xff0c;子模块的mapper目录读取不到 问题复现问题解决 问题复现 我的mybatis配置&#xff1a; 父模块mapper目录 子模块mapper目录 运行报错&#xff1a; 找不到子模块中的mapper配置 问题解决 debug…

做完十年数据分析后的思考与总结

种一棵树最好的时间是十年前&#xff0c;其次是现在。十年了&#xff0c;本次分享大多来自工作中的日常所思所想&#xff0c;欢迎自取。 01 数据分析的本质 数据是基础&#xff0c;分析才是重点。 行业内有专门的统计岗&#xff0c;就是只负责做好数据统计就可以了&#xff0…

第一篇【传奇开心果】Vant 开发移动应用:从helloworld开始

传奇开心果系列博文 博文系列目录Vant of Vue 开发移动应用示例博文目录一、从helloworld开始二、添加几个常用组件三、添加组件事件处理四、添加页面和跳转切换路由五、归纳总结知识点六、知识点示例代码 博文系列目录 Vant of Vue 开发移动应用示例 博文目录 一、从hellow…

Mybatis面试题(四)

MyBatis 面试题 26、Mapper 编写有哪几种方式&#xff1f; 第一种&#xff1a;接口实现类继承 SqlSessionDaoSupport&#xff1a;使用此种方法需要编写mapper 接口&#xff0c;mapper 接口实现类、mapper.xml 文件。 1、在 sqlMapConfig.xml 中配置 mapper.xml 的位置 <m…

IP改编国漫市场:繁荣背后的秘密,谁将成为下一个超级IP?

近年来IP改编已经是大众主流的趋向&#xff0c;原创剧本越来越少&#xff0c;现在市面上的动画影视大都是根据现有的IP进行二次创作&#xff0c;出来的效果也都参差不齐&#xff0c;比如说根据小说改编的《斗破苍穹》、《斗罗大陆》、《师兄啊师兄》&#xff0c;或者根据漫画改…

Spring Cloud可视化智慧工地大数据云平台源码(人、机、料、法、环五大维度)

智慧工地平台是依托物联网、互联网、AI、可视化建立的大数据管理平台&#xff0c;是一种全新的管理模式&#xff0c;能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度&#xff0c;以及施工过程管理的进度、质量、安全三…

Python基本输入和输出

Python是一种高级编程语言&#xff0c;以其简洁易学和功能强大而闻名。在Python中&#xff0c;输入和输出是编程中至关重要的一部分&#xff0c;它们帮助程序与用户进行交互&#xff0c;以便获取输入并向用户显示输出。本文将重点介绍Python中的基本输入和输出&#xff0c;包括…

Ardupilot开源飞控之VTOL之旅:打印件清单

Ardupilot开源飞控之VTOL之旅&#xff1a;打印件清单 1. 源由2. 清单2.1 模拟VTX打印件2.2 摄像头打印件2.3 GPS & RC天线打印件2.4 飞控 & 电调打印件 3. 总结4. 参考资料 1. 源由 VTOL一直仍在角落吃灰&#xff0c;主要还是手头缺点经费&#xff0c;搞台3D打印机基本…

FPGA高端项目:Xilinx Artix7 系列FPGA纯verilog图像缩放工程解决方案 提供4套工程源码和技术支持

目录 1、前言版本更新说明给读者的一封信FPGA就业高端项目培训计划免责声明 2、相关方案推荐我这里已有的FPGA图像缩放方案本方案在Xilinx Kintex7 系列FPGA上的应用本方案在国产FPGA紫光同创系列上的应用本方案在国产FPGA高云系列上的应用 3、设计思路框架设计框图视频源选择o…

PGSQL安装PostGIS扩展模块

一、PostGIS简介 1、PostGIS介绍 PostGIS是一个空间数据库&#xff0c;空间数据库像存储和操作数据库中其他任何对象一样去存储和操作空间对象。 空间数据与数据库关联起来的三个要素&#xff1a;数据类型、索引和函数。 空间数据类型&#xff1a;用于指定图形为点&#xff0…

浏览器插件:WebScraper基本用法和抓取页面内容(不会编程也能爬取数据)

Web Scraper 是一个浏览器扩展&#xff0c;用于从页面中提取数据(网页爬虫)。对于简单或偶然的需求非常有用&#xff0c;例如正在写代码缺少一些示例数据&#xff0c;使用此插件可以很快从类似的网站提取内容作为模拟数据。从 Chrome 的插件市场安装后&#xff0c;页面 F12 打开…

实例分割模型解析:solo模型

论文链接&#xff1a;https://arxiv.org/abs/1912.04488 代码&#xff1a;https://github.com/WXinlong/SOLO 1.摘要 我们提出了一种新的、极其简单的实例分割方法。与许多其他密集预测任务&#xff08;例如语义分割&#xff09;相比&#xff0c;任意数量的实例使得实例分割更…

leetCode-42.接雨水

&#x1f4d1;前言 本文主要是【算法】——算法模拟的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句&#xff…

广东省考报名相片上传成功了,必须<30kb

(一)报名时间 2024年1月16日9︰00至22日16︰00。 (二)报考注册 报考者登录广东省公务员考试录用管理信息系统(https://ggfw.hrss.gd.gov.cn/gwyks/index.do)&#xff0c;用本人身份证号码进行注册&#xff0c;在注册前应仔细阅读本公告、全省各级机关招录职位表(附件1)和报考指…

知识图谱的广泛应用与价值

目录 前言1 语义搜索2 知识问答2.1 问答对的深度关联2.2 文本挖掘与答案精准性2.3 知识图谱问答的全面服务 3 辅助推荐4 辅助大数据分析4.1 知识图谱推理的应用4.2 知识图谱的数据分析4.3 动态本体技术的引入 5 故障诊断5.1 故障诊断系统的应用5.2 知识图谱在语言理解中的作用5…

2024年1月13日~2024年1月19日(研读论文、了解语义分割)

一、前言 上周完成《SeisInvNet》论文的初步阅读工作。 本周继续阅读《SeisInvNet》论文&#xff0c;并理解其逻辑结构。另外&#xff0c;在B站寻找视频了解了语义分割任务逻辑、深度学习一些概念等。 二、论文SeisInvNet 标题&#xff1a;Deep learning Inversion of Seismic…

基于 UniAPP 社区论坛项目多端开发实战

社区论坛项目多端开发实战 基于 UniAPP 社区论坛项目多端开发实战一、项目准备1.1 ThinkSNS 简介及相关文档1.2 使用 UniAPP 构建项目1.3 构建项目文件结构1.4 配置页面 TabBar 导航1.5 使用 npm 引入 uView UI 插件库 二、首页功能实现2.1 首页 header 广告位轮播图功能实现2.…