力扣438 找到字符串中所有字母异位词 Java版本

embedded/2024/9/20 9:45:22/

文章目录

  • 题目描述
  • 代码


题目描述

给定两个字符串 s 和 p,找到 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” 的异位词。

提示:

1 <= s.length, p.length <= 3 * 104
s 和 p 仅包含小写字母

代码

java">class Solution {public List<Integer> findAnagrams(String s, String p) {List<Integer> res = new ArrayList<>();//将p排序之后方便对比char[] chars = p.toCharArray();Arrays.sort(chars);String newP = new String(chars);for (int i = 0; i <= s.length() - p.length(); i++) {String substring = s.substring(i, i + p.length());char[] chars1 = substring.toCharArray();Arrays.sort(chars1);String newSubstring = new String(chars1);if (newP.equals(newSubstring)){res.add(i);}}return res;}
}

http://www.ppmy.cn/embedded/114121.html

相关文章

【C#】vs2022 .net8

Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 更新就会出现

搜维尔科技:OptiTrack采集到的平衡数据,并对人形机器人进行编程,可以确保机器人的动作精度和准确性

OptiTrack具备高精度以及远追踪距离的双层特点&#xff0c;其捕捉范围最远可达91m&#xff0c;是大型场地&#xff08;如体育馆、足球场、虚拟拍摄制作棚等&#xff09;捕捉的最佳选择。 OptiTrack光学动作捕捉系统是目前全球市占率较高的全身动捕产品&#xff0c;可实现精度误…

Golang 中实现动态代理

在 Go 语言中&#xff0c;没有像 Java 中那样直接支持的动态代理机制&#xff0c;因为 Go 是静态类型的编程语言&#xff0c;不支持像 Java 反射那样基于接口的动态代理。但我们可以通过组合使用反射&#xff08;reflect 包&#xff09;和高阶函数的方式&#xff0c;实现类似于…

Prometheus+grafana+kafka_exporter监控kafka运行情况

使用Prometheus、Grafana和kafka_exporter来监控Kafka的运行情况是一种常见且有效的方案。以下是详细的步骤和说明&#xff1a; 1. 部署kafka_exporter 步骤&#xff1a; 从GitHub下载kafka_exporter的最新版本&#xff1a;kafka_exporter项目地址&#xff08;注意&#xff…

第1步win10宿主机与虚拟机通过NAT共享上网互通

VM的CentOS采用NAT共用宿主机网卡宿主机器无法连接到虚拟CentOS 要实现宿主机与虚拟机通信&#xff0c;原理就是给宿主机的网卡配置一个与虚拟机网关相同网段的IP地址&#xff0c;实现可以互通。 1、查看虚拟机的IP地址 2、编辑虚拟机的虚拟网络的NAT和DHCP的配置&#xff0c;…

【H2O2|全栈】关于CSS(6)CSS基础(五)

目录 CSS基础知识 前言 准备工作 网页项目规范 创建项目 布局 补充一部分属性 outline border-radius 预告和回顾 后话 CSS基础知识 前言 本系列博客将分享层叠样式表&#xff08;CSS&#xff09;有关的知识点。 本期博客主要分享的是网页项目规范&#xff0c;ou…

CSS clip-path 属性的使用

今天记录一个css属性clip-path&#xff0c;首先介绍下这个属性。 clip-path 是CSS中的一个神奇属性&#xff0c;它能够让你像魔术师一样&#xff0c;对网页元素施展“裁剪魔法”——只展示元素的一部分&#xff0c;隐藏其余部分。想象一下&#xff0c;不用依赖图片编辑软件&am…

深度学习速通系列:中文文本处理步骤

在深度学习中&#xff0c;中文文本处理通常涉及以下几个关键步骤&#xff1a; 分词&#xff1a;由于中文文本不像英文那样有明显的单词分隔符&#xff0c;因此需要通过分词工具&#xff08;如jieba&#xff09;将句子切分成单个词语。 去除停用词和特殊字符&#xff1a;清理文…