leetcode438找到字符串种所有异位词

news2025/1/31 7:59:20

我的思路

  1. 先计算子串的字符的ascll码值的和,看看这个值是否相等,我认为可以筛掉一一部分
  2. 就是子串和要比较的串排序比较是否相等

但是超时,样例太长了

在这里插入图片描述

题解思路

class Solution {
    public List<Integer> findAnagrams(String s, String p) {
        List<Integer> result = new ArrayList<>();
        if(s.length()<p.length()){
            return result;
        }
      int[] parr = new int[26];

      int[] sarr = new int[26];
        for (int i = 0; i < p.length(); i++) {
            parr[p.charAt(i)-'a']++;
            sarr[s.charAt(i) - 'a']++;
        }
        if(Arrays.equals(parr, sarr)){
            result.add(0);
        }
        for (int i = 0; i < s.length() - p.length(); ++i) {
            sarr[s.charAt(i)-'a']--;
            sarr[s.charAt(i+p.length()) - 'a']++;
            if (Arrays.equals(parr, sarr)){
                result.add(i+1);
            }
        }
        return result;
    }

}

其实应该也是双指针,关键是自己没想到两个数组怎么比较大小,其实也是统计字符次数

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

csgo使用服务器一键开服联机

1、购买后登录服务器&#xff08;百度莱卡云游戏面板&#xff09; 登录面板的信息在绿色的登陆面板按键下方&#xff0c;不是你的莱卡云账号 进入控制面板后会出现正在安装的界面&#xff0c;游戏将近40G需要&#xff0c;安装时间相比较长&#xff08;如超过30分钟处于安装中请…

Carnivo嘉年华韩毅:好产品本身能吸引消费者 | SMARTIES CHINA 2024终审报道③

Carnivo嘉年华整合营销执行合伙人 韩毅 近日&#xff0c;SMARTIES CHINA 2024终审活动在苏州音昱水中天落下帷幕。来自各行业的40位品牌广告主代表&#xff0c;历时两天时间&#xff0c;通过紧张的评审和精彩的讨论&#xff0c;从178个优秀入围案例中评选出了每个类别的金银铜…

C++ 类和对象(中) 构造、析构、(运算符重载)赋值运算符、const成员函数等;有c语言基础更好

在最开始如果有些&#xff0c;看不懂可以去看上一篇 -->类和对象 上 阅读时要结合代码一起思考 学习完日期类可以看看以下oj题 KY111 日期差值 计算一年的第几天 1. 类的默认成员函数 默认成员函数&#xff0c;编译器会自动生成的成员函数被成为默认成员函数&#xff0c…

Excel导入数据

"update user set long1 "&C2&",long2 "&D2&" where code "&A2&";" excel怎么按逗号把数据分列? excel一列数字逗号隔开分列数据技巧_excel_办公软件_软件教程_脚本之家 excel怎么按逗号把数据分列? ex…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第四集:制作更多的敌人

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、制作敌人僵尸虫Zombie 1.公式化导入制作僵尸虫Zombie素材2.制作僵尸虫Zombie的Walker.cs状态机3.制作敌人僵尸虫的playmaker状态机二、制作敌人爬虫Climber…

C语言程序设计(进阶)

肆意张扬的我们都不会是烂尾的诗集。 2.整型在内存中的存储 我们之前讲过一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同类型而决定的。 2.1原码、反码、补码 数值有不同的表现形式&#xff1a;2进制、8进制、10进制、16进制 其中整数的2进制表示也有三种形式&…

毕业论文写作会用到的AI软件!一定不能错过的18个网站!(务必收藏)

AI毕业论文写作它可以提供论文摘要、大纲、选题确立等多种写作辅助&#xff0c;还能帮助我们完成开题报告、实验报告、辩论灵感等内容。无论是文章纠正、批改&#xff0c;还是改写降重&#xff0c;它都能轻松搞定。甚至连论文致谢、创新创业计划书等都能为我们提供帮助。 以下…

缓存穿透 问题(缓存空对象)

文章目录 1、缓存穿透2、缓存空对象3、AlbumInfoApiController --》getAlbumInfo()4、AlbumInfoServiceImpl --》getAlbumInfo()5、RedisConstant6、请求缓存不存在的数据 1、缓存穿透 2、缓存空对象 3、AlbumInfoApiController --》getAlbumInfo() GetMapping("getAlbumI…

基于RK3588,AI边缘模块,单片6TOPS,可集群堆叠,Mixtile Blade 3

Mixtile Blade 3 是一款经济实惠、节能的 SBC&#xff0c;围绕下一代 8 纳米瑞芯微 RK3588 处理器构建。它非常适合快速开发、AI 应用程序原型设计和边缘计算&#xff0c;允许您集群多个 Mixtile Blade 3 SBC 以扩展您的部署。 硬件布局正反面 开箱即用的 Mixtile Blade 3 是一…

Three.js学习笔记

Three.js是一款基于原生WebGL封装的Web 3D库,向外提供了许多的接口。 它可以运用在在小游戏、产品展示、物联网、数字孪生、智慧城市园区、机械、建筑、全景看房、GIS等各个领域。 npm install three https://threejs.org/docs/index.html#manual/en/introduction/Installatio…

java序列化对象后读取数据错误的问题

今天学到了对象的序列化&#xff0c;就是将对象写入到文件中去&#xff0c;大家要直到我们普通的输入输出文件只是把数据的值写入了文件&#xff0c;而没有把数据的类型与之绑定&#xff0c;比如我向文件中写入100&#xff0c;那么这是字符串”100“还是整数100还是高精度浮点数…

CSS入门笔记

目录 概述 组成 CSS 语法 常见的使用方式 CSS 优先级 CSS 选择器 1. 基本选择器 2. 属性选择器 3. 伪类选择器 4. 组合选择器 示例 优先级 边框样式与盒子模型 单个边框 边框轮廓&#xff08;Outline&#xff09; 盒子模型 模型介绍 边距设置 布局示例 文…

支付宝开放平台-开发者社区——AI 日报「9 月 19 日」

1️⃣ 保守派中间派原生派&#xff0c;谁将主导搜索引擎未来三十年&#xff1f; 机器之心&#xff5c;阅读原文 拥有智能索引库、专属知识库、混合大模型调度系统的 AI 原生搜索&#xff0c;能否成为正统&#xff0c;引领搜索引擎的下一个三十年&#xff1f;AI 正成为「端掉」…

数据处理与统计分析篇-day05-Pandas详解

创建DaraFrame对象 概述 DataFrame是一个表格型的结构化数据结构&#xff0c;它含有一组或多组有序的列&#xff08;Series&#xff09;&#xff0c;每列可以是不同的值类型&#xff08;数值、字符串、布尔值等&#xff09;。 DataFrame是Pandas中的最基本的数据结构对象&…

51单片机-DA(数字转模拟)

作者&#xff1a;Whappy 个人理解&#xff1a;将电压或电流信号进行等分或不等分&#xff08;高电平的电压范围和低电平的范围&#xff0c;如0-5v&#xff0c;0-1.8位低电平&#xff0c;3.8-5v为高电平&#xff09;&#xff0c;同样也是通过采样&#xff0c;量化等操作将不连续…

工业仪器仪表指针数据集

工业仪器仪表指针数据集: 可用于仪表指针识别、分割项目 分别含有1000张原图和标签 图片中有各类工业仪器表盘&#xff0c;指针。 工业仪器仪表指针数据集介绍 数据集名称 工业仪器仪表指针数据集&#xff08;Industrial Instrument Needle Dataset&#xff09; 数据集概述 …

Introduction to LLMs in Python

1、The Large Language Models (LLMs) Landscape 1.1、Introducing large language models 1.1.1、LLMs development lifecycle 1.1.2、Pre-training and fine-tuning We can often use a pre-trained LLM as a foundation and fine-tune it with our specific data, saving …

【笔记】2.1 半导体三极管(BJT,Bipolar Junction Transistor)

一、结构和符号 1. 三极管结构 常用的三极管的结构有硅平面管和锗合金管两种类型。各有PNP型和NPN型两种结构。 左图是NPN型硅平面三极管,右图是PNP型锗合金三极管。 从图中可见平面型三极管是先在一块大的金属板上注入杂质使之变成N型,然后再在中间注入杂质使之变成P型,…

从零开始讲DDR(2)——DDR的核心技术

我们知道DDR区分于之前的SDRAM最大的点就在于它可以做到“在时钟周期的上升沿和下降沿都能传输数据&#xff0c;这样它的传输速率就比SDRAM快了一倍”。其实要做到这点&#xff0c;背后需要的技术突破体现在很多层面&#xff1a; 一、双边沿触发技术&#xff08;Double Data Ra…

DPDK 简易应用开发之路 2:UDP数据包发送及实现

本机环境为 Ubuntu20.04 &#xff0c;dpdk-stable-20.11.10 发送数据包的通用步骤 初始化DPDK环境&#xff1a; 调用 rte_eal_init() 来初始化DPDK的EAL&#xff08;环境抽象层&#xff09;&#xff0c;这是所有DPDK应用程序的第一步&#xff0c;用于初始化硬件、内存和逻辑核…