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

438 找到字符串中所有的字母异位词

滑动窗口 卡住短的数组 向长的数组进行比较 出现字符次数相同的就是一组异位词、

class Solution {

    public List<Integer> findAnagrams(String s, String p) {

         //存储结果

        List<Integer> result = new ArrayList<>();

        //charP存储p中字母出现的个数

        int [] charP = new int[26];

        //charS存储存在p.length中p异味词的次数

        int [] charS = new int[26];

        //先统计p中出现的词的个数

        for (int c : p.toCharArray()) {

            charP[c - 'a']++;

        }

        //右端点进入字符数组s

        for (int right = 0; right < s.length(); right++) {

            charS[s.charAt(right) - 'a']++;

            //计算左窗口的位置

            int left= right - p.length() + 1;

            //窗口大小小于0的话 继续遍历

            if (left<0){

                continue;

            }

            //如果两个字符数组字符出现的次数相同

            if (Arrays.equals(charS, charP)){

                //将左窗口添加进去

                result.add(left);

            }

           

            //窗口右移

            charS[s.charAt(left) - 'a']--;

        }

       

        return result;

    }

}

http://www.dtcms.com/a/21587.html

相关文章:

  • 04性能监控与调优篇(D1_学习前言)
  • 如何利用OGG WEB页面进行MySQL数据库数据复制的配置
  • HTML之JavaScript常见事件
  • 4.buuctf [SWPU2019]Web1及知识点
  • matlab基于梯度下降和软阈值化的去噪算法
  • 民用无人驾驶航空器操控员考试
  • C#: String s = new String(“Hello“)无法编译?编程语言字符集有两个?为什么这种变量名“\u0061\u0062”都能编译通过?
  • netcore https配置
  • node.js + html调用ChatGPTApi实现Ai网站demo(带源码)
  • Ae 效果详解:蒙尘与划痕
  • 类和对象详解(下)-----运算符重载
  • [Vivado报错] [Runs 36-527] DCP does not exist
  • matlab模拟风场的随机脉动风
  • 升级 SpringBoot3 全项目讲解 — JOOQ 为什么全面超越了 Mybatis?
  • HarmonyOS NEXT网络状态监听HTTP和RCP请求网络
  • 【软考】【2025年系统分析师拿证之路】【啃书】第十一章 软件需求工程(十二)
  • 使用 Ansys MotorCAD 进行轴向磁通电机设计
  • wordpress get_footer();与wp_footer();的区别的关系
  • Node.js 中的 fs 模块详解
  • 一个n*m的二维非零tensor,如何将小于0.5的元素设置为零
  • 建筑行业安全技能竞赛流程方案
  • 【iOS】SwiftUI状态管理
  • Python elasticsearch客户端连接常见问题整理
  • 内容中台:解锁企业资源整合与敏捷响应新路径
  • 25/2/16 <算法笔记> DirectPose
  • 我们来学HTTP/TCP -- 另辟蹊径从响应入手
  • 基于状态观测器和物联网基础设施的智能电网高速孤岛检测
  • Ubuntu终端的常用快捷键
  • 【网络】协议与网络版计算器
  • git cherry-pick,需要git commit、git push么?