leetcode 热题 100_找到字符串中所有字母异位词

题解一:

        滑动窗口:类似于字符串匹配,但匹配异位词需要包含相同的字母及个数,可以分别用两个数组存储字符串s滑动窗口和字符串p的字母及个数,再用Array.equals()进行比对。对于s.length()<p.length()的情况需要特判。

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

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

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

相关文章

【python】python用户管理系统[简易版](源码+报告)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

怎么异地共享文件?

不同地点的团队成员之间共享文件是现代企业中常见的需求之一。随着分布式团队的不断增加&#xff0c;找到一种安全、高效的方式来实现异地共享文件变得尤为重要。本文将介绍一种名为【天联】的工具&#xff0c;它可以帮助团队成员在异地互相共享文件。 【天联】是一种专门为异地…

Corel 会声会影 2023 激活码 会声会影 2023 序列号生成器

会声会影 2023 已经出来很长时间了&#xff0c;但是对它的热爱一直持续不减&#xff0c;今天我给大家带来2023版本为用户带来的多个全新功能&#xff0c;可以更好的编辑视频&#xff0c;不过软件还是付费的&#xff0c;为此我带来了会声会影 2023序列号生成器&#xff0c;可以轻…

STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天)

STM32 第二天 一、 STM32时钟分析 寄存器&#xff1a;寄存器的功能是存储二进制代码&#xff0c;它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码&#xff0c;故存放n位二进制代码的寄存器&#xff0c;需用n个触发器来构成 在计算机领域&#x…

数码管的动态显示(一)

1.原理 把每一个数码管闪烁的时间设置为1ms&#xff0c;肉眼观察不到就会认为6个数码管在同时闪烁。 实验目标&#xff1a; 使用6位8段数码管实现数码管的动态显示&#xff0c;显示的内容就是0-999_999。当计数到最大值&#xff0c;让他归零&#xff0c;然后循环显示。每0.1秒…

Doris2.0 部署流程、遇到的问题及1.0升级至2.0流程整理

背景 Doris 1.0 版本总是出现副本损坏问题&#xff0c;机器资源充足&#xff0c;FE 和 BE 数据足够&#xff0c;每日的数据量一般&#xff0c;但是总是隔三差五出现入库时副本损坏问题。Doris 已经发布了2.0 版本&#xff0c;本周又发布了新版本 2.0.5。升级 Doris 能否解决副…

Jenkins 安装

目录 1、部署 Jenkins 安装配置 Jenkins 解锁 Jenkins 安装 Jenkins 插件 创建管理员账号 手动安装插件 2、Jenkins 从 GitLat 拉取代码 安装 Jenkins 插件 在 node-16 上生成密钥对 把公钥配置到 gitlab 上 把 root 用户私钥配置到 jenkins 上 Jenkins 创建一个任务…

命名空间(namespace)

定义 在C中&#xff0c;命名空间&#xff08;Namespace&#xff09;是一个特性&#xff0c;用于封装代码并避免名称冲突。命名空间可以看作是一个容器&#xff0c;其中可以包含类、函数、变量、常量、其他命名空间等。通过使用命名空间&#xff0c;我们可以更好地组织代码&…

面试经典150题 -- 回溯 (总结)

总的链接 : 面试经典 150 题 - 学习计划 - 力扣&#xff08;LeetCode&#xff09;全球极客挚爱的技术成长平台 17 . 电话号码的字母组合 1 . 先创建一个下标 与 对应字符串映射的数组&#xff0c;这里使用hash表进行映射也是可以的 &#xff1b; 2 . 对于回溯 &#xff0c;…

python数据类型及转换

一、数据类型 数据类型分为数值型、布尔型、字符串型等 1.1数值类型 数值类型可以分为整数类型、浮点数类型、复数类型 1.1.1整数类型 (1)概念&#xff1a;整数类型指数值是没有小数部分的&#xff0c;包含正整数、负整数和0 (2)进制种类&#xff1a;十进制--->234、5…

【网站项目】139选课排课系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

Redis 群集

简介 在现在的互联网大潮中&#xff0c;NoSQL可谓家喻户晓&#xff0c;Redis作为NoSOL大军中极其重要的一员&#xff0c;是我们走向架构道路的一条必经之路。 Redis介绍 Redis 数据库是一个非关系型数据库&#xff0c;在正式学习Redis之前&#xff0c;我们先来了解关系型数据库…

算法沉淀——动态规划之完全背包问题(leetcode真题剖析)

算法沉淀——动态规划之完全背包问题 01.【模板】完全背包02.零钱兑换03.零钱兑换 II04.完全平方数 完全背包问题是背包问题的一种变体&#xff0c;与01背包问题不同&#xff0c;它允许你对每种物品进行多次选择。具体来说&#xff0c;给定一个固定容量的背包&#xff0c;一组物…

TCPDump 使用教程

每次服务器网络不通的时候&#xff0c;总会听到一个声音&#xff0c;你去抓包啊&#xff0c;那这里就来介绍下TCPDump&#xff0c;一款强大的网络分析工具&#xff0c;可以捕获网络上的数据包&#xff0c;并进行分析。这款工具在网络管理员和安全专家中非常受欢迎。 一、安装 …

防火墙:网络防御的第一道防线

目录 引言 一、安全技术与防火墙 &#xff08;一&#xff09;安全技术 &#xff08;二&#xff09;防火墙的主要功能与分类 1.防火墙的主要功能 2.防火墙的分类 二、Linux防火墙的基本认识 &#xff08;一&#xff09;Netfilter &#xff08;二&#xff09;防火墙工具…

单调队列(347. 前 K 个高频元素239. 滑动窗口最大值)

单调队列和单调栈其实差不多,就是维护一个区间单调的队列或者是栈,单调队列就是我们所说的大顶堆小顶堆, //升序队列 小顶堆 great 小到大 priority_queue <int,vector<int>,greater<int> > pri_que; //降序队列 大顶堆 less 大到小 默认 priority_qu…

【AI视野·今日NLP 自然语言处理论文速览 第八十一期】Mon, 4 Mar 2024

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 4 Mar 2024 Totally 48 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Mitigating Reversal Curse via Semantic-aware Permutation Training Authors Qingyan Guo, Rui Wang, Junlia…

Fisher矩阵与自然梯度法

文章目录 Fisher矩阵及自然梯度法Fisher矩阵自然梯度法总结参考链接 Fisher矩阵及自然梯度法 自然梯度法相比传统的梯度下降法具有以下优势&#xff1a; 更好的适应性&#xff1a;自然梯度法通过引入黎曼流形上的梯度概念&#xff0c;能够更好地适应参数空间的几何结构。这使…

LCR 134. Pow(x, n)

解题思路&#xff1a; 分治 快速幂 Java中向下取整n/2即可 需要结合下图理解&#xff0c;算法就是实现的该过程 class Solution {public double myPow(double x, int n) {if(x 0.0f) return 0.0d;long b n;double res 1.0;//例如:2^-5(1/2)^5if(b < 0) {x 1 / x;b -b…

【Python】Python教师/学生信息管理系统 [简易版] (源码)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…