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

leetcode——找到字符串中所有字母异位词(java)

给定两个字符串 sp,找到 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.首先关键在与如何将两个字符串的比较转化为两个字符数组的比较。

2.可以建立两个长度为26的字符数组,通过比较两个字符数组中字母出现的频数便可以得出是否为字母异位词。

3.遍历字符数组,将字符装进滑动窗口中,满了之后,比较两个字符数组,如果相等,将第一个加进来的字符索添加进结果中,然后更新滑动窗口。

class Solution {public List<Integer> findAnagrams(String S, String P) {char[] s = S.toCharArray();char[] p = P.toCharArray();int[] tar = new int[26];int[] tmp = new int[26];List<Integer> res = new ArrayList<>();int n = s.length;int m = p.length;for (int i = 0; i < m; i++) {int idp = p[i] - 'a';tar[idp]++; }for (int i = 0; i < n; i++) {int ids = s[i] - 'a'; tmp[ids]++;if (i < m - 1) {continue;}if (Arrays.equals(tar, tmp)) {res.add(i - m + 1);}int out = s[i - m + 1] - 'a';tmp[out]--;}return res;}
}

相关文章:

leetcode——找到字符串中所有字母异位词(java)

给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 示例 1: 输入: s "cbaebabacd", p "abc" 输出: [0,6] 解释: 起始索引等于 0 的子串是 "cba", 它是 "…...

大文件上传服务-后端V1V2

文章目录 大文件上传概述:minio分布式文件存储使用的一些技术校验MD5的逻辑 uploadV1 版本 1uploadv2 版本 2 大文件上传概述: 之前项目做了一个文件上传的功能,最近看到有面试会具体的问这个上传功能的细节&#xff0c;把之前做的项目拿过来总结一下&#xff0c;自己写的一个…...

Single-Model and Any-Modality for Video Object Tracking——2024——cvpr-阅读笔记

Single-Model and Any-Modality for Video Object Tracking 摘要相关工作创新处MethodShared embeddingModal promptingRGB Tracker based on TransformerOverall ExperiimentDatasetRGB-D samples are sourced from DepthTrackRGB-T samples are extracted from LasHeRRGB-E s…...

阳振坤:AI 大模型的基础是数据,AI越发达,数据库价值越大

2024年1月12日&#xff0c;第四届OceanBase数据库大赛决赛在北京圆满落幕。在大赛的颁奖典礼上&#xff0c;OceanBase 首席科学家阳振坤老师为同学们献上了一场主题为“爱上数据库”的公开课&#xff0c;他不仅分享了个人的成长历程&#xff0c;还阐述了对数据库行业现状与未来…...

Linux磁盘空间不足,12个详细的排查方法

在Linux系统运维过程中&#xff0c;磁盘空间不足是一个常见且棘手的问题。当磁盘空间被占满时&#xff0c;系统的正常运行会受到影响&#xff0c;甚至可能导致服务中断。因此&#xff0c;迅速有效地排查和解决磁盘空间问题显得尤为重要。本文将详细介绍16个排查Linux磁盘空间问…...

Spring Web MVC综合案例

承接上篇文章——Spring Web MVC探秘&#xff0c;在了解Spring Web MVC背后的工作机制之后&#xff0c;我们接下来通过三个实战项目&#xff0c;来进一步巩固一下前面的知识。 一、计算器 效果展示&#xff1a;访问路径&#xff1a;http://127.0.0.1:8080/calc.html 前端代码&a…...

微软预测 AI 2025,AI Agents 重塑工作形式

1月初&#xff0c;微软在官网发布了2025年6大AI预测&#xff0c;分别是&#xff1a;AI模型将变得更加强大和有用、AI Agents将彻底改变工作方式、AI伴侣将支持日常生活、AI资源的利用将更高效、测试与定制是开发AI的关键以及AI将加速科学研究突破。 值得一提的是&#xff0c;微…...

lvgl性能调优

LV_USE_PERFORMANCE lvgl_performance 是 LVGL 提供的性能分析工具&#xff0c;可以帮助开发者评估和优化图形库的性能。在一些特定的版本中&#xff0c;lvgl_performance 是一个宏或者工具&#xff0c;用来分析性能瓶颈&#xff0c;特别是图形渲染的效率。 下面是如何使用 l…...

CSS实现实现票据效果 mask与切图方式

一、“切图”的局限性 传统的“切图”简单暴力,但往往缺少适应性。 适应性一般有两种,一是尺寸自适应,二是颜色可以自定义。 举个例子,有这样一个优惠券样式 关于这类样式实现技巧,之前在这篇文章中有详细介绍: CSS 实现优惠券的技巧 不过这里略微不一样的地方是,两个…...

STL--list(双向链表)

目录 一、list 对象创建 1、默认构造函数 2、初始化列表 3、迭代器 4、全0初始化 5、全值初始化 6、拷贝构造函数 二、list 赋值操作 1、赋值 2、assign&#xff08;迭代器1&#xff0c;迭代器2&#xff09; 3、assign&#xff08;初始化列表&#xff09; 4、assig…...

ZooKeeper 中的 ZAB 一致性协议与 Zookeeper 设计目的、使用场景、相关概念(数据模型、myid、事务 ID、版本、监听器、ACL、角色)

参考Zookeeper 介绍——设计目的、使用场景、相关概念&#xff08;数据模型、myid、事务 ID、版本、监听器、ACL、角色&#xff09; ZooKeeper 设计目的、特性、使用场景 ZooKeeper 的四个设计目标ZooKeeper 可以保证如下分布式一致性特性ZooKeeper 是一个典型的分布式数据一致…...

“深入浅出”系列之C++:(11)推荐一些C++的开源项目

1. SQLiteCpp - 简单易用的Sqlite C封装库 仓库地址&#xff1a;https://github.com/SRombauts/SQLiteCpp 简介&#xff1a;SQLiteCpp是一个对Sqlite数据库进行C封装的开源库&#xff0c;代码行数约2,500行。它提供了简洁易用的接口&#xff0c;使得在C项目中操作Sqlite数据库…...

《重生到现代之从零开始的C++生活》—— 类和对象2

类的默认成员函数 默认成员函数就是用户没有显示实现&#xff0c;编译器会自动生成的成员函数&#xff0c;一个类会默认生成6个成员函数 构造函数 构造函数时特殊的成员函数&#xff0c;构造函数的初始化对象 函数名与类名相同 没有返回值 对象实例化的时候胡自动调用构造…...

“UniApp的音频播放——点击视频进入空白+解决视频播放器切换视频时一直加载的问题”——video.js、video-js.css

今天&#xff0c;又解决了一个单子“UniApp的音频播放——点击视频进入空白解决视频播放器切换视频时一直加载的问题” 一、问题描述 在开发一个基于 video.js 的视频播放器时&#xff0c;用户通过上下滑动切换视频时&#xff0c;视频一直处于加载状态&#xff0c;无法正常播放…...

【Pandas】pandas Series transform

Pandas2.2 Series Function application, GroupBy & window 方法描述Series.apply()用于将一个函数应用到 Series 的每个元素或整个 SeriesSeries.agg()用于对 Series 数据进行聚合操作Series.aggregate()用于对 Series 数据进行聚合操作Series.transform()用于对 Series…...

【博客之星2024年度总评选】年度回望:我的博客之路与星光熠熠

【个人主页】Francek Chen 【人生格言】征途漫漫&#xff0c;惟有奋斗&#xff01; 【热门专栏】大数据技术基础 | 数据仓库与数据挖掘 | Python机器学习 文章目录 前言一、个人成长与盘点&#xff08;一&#xff09;机缘与开端&#xff08;二&#xff09;收获与分享 二、年度创…...

飞牛 使用docker部署Watchtower 自动更新 Docker 容器

Watchtower是一款开源的Docker容器管理工具&#xff0c;其主要功能在于自动更新运行中的Docker容器 Watchtower 支持以下功能&#xff1a; 自动拉取镜像并更新容器。 配置邮件通知。 定时执行容器更新任务。 compose搭建Watchtower 1、新建文件夹 先在任意位置创建一个 w…...

【Block总结】TAdaConv时序自适应卷积,轻量高效的时间建模卷积|即插即用

论文解读&#xff1a;Temporally-Adaptive Models for Efficient Video Understanding 论文信息 标题&#xff1a;Temporally-Adaptive Models for Efficient Video Understanding 发表时间&#xff1a;2023年 作者&#xff1a;黄子渊等 论文链接&#xff1a;arXiv 论文 代…...

Spring Boot 项目启动报错 “找不到或无法加载主类” 解决笔记

一、问题描述 在使用 IntelliJ IDEA 开发基于 Spring Boot 框架的 Java 程序时&#xff0c;原本项目能够正常启动。但在后续编写代码并重建项目后&#xff0c;再次尝试运行却出现了 “错误&#xff1a;找不到或无法加载主类 com.example.springboot.SpringbootApplication” 的…...

CSS 网络安全字体

适用于 HTML 和 CSS 的最佳 Web 安全字体 下面列出了适用于 HTM L和 CSS 的最佳 Web 安全字体&#xff1a; Arial (sans-serif)Verdana (sans-serif)Helvetica (sans-serif)Tahoma (sans-serif)Trebuchet MS (sans-serif)Times New Roman (serif)Georgia (serif)Garamond (se…...

OpenClaw技能共享经济:发布Phi-3-vision插件到ClawHub全流程

OpenClaw技能共享经济&#xff1a;发布Phi-3-vision插件到ClawHub全流程 1. 为什么选择OpenClaw生态 去年夏天&#xff0c;当我第一次尝试用OpenClaw自动化处理图片分类任务时&#xff0c;就意识到这个框架的潜力远不止于个人使用。最让我惊喜的是它的技能共享机制——任何开…...

Qwen3-4B Instruct-2507效果实测:金融研报关键信息抽取准确率达89.4%

Qwen3-4B Instruct-2507效果实测&#xff1a;金融研报关键信息抽取准确率达89.4% 1. 引言&#xff1a;当大模型遇上金融研报 金融分析师每天都要面对海量的研究报告。一份动辄几十页的研报&#xff0c;里面藏着公司业绩、行业趋势、投资建议等关键信息。传统的人工阅读和提取…...

客户关系管理系统哪个好?2026 年五大核心能力高性价比推荐

在数字化转型的浪潮中&#xff0c;CRM&#xff08;客户关系管理&#xff09;系统已不再是简单的通讯录&#xff0c;而是企业业务流转的中枢神经。当前市场上的CRM产品呈现出显著的分化趋势&#xff1a;一类是以超兔一体云&#xff08;XTools&#xff09;为代表的云原生全链路平…...

TMC7300单线UART电机驱动库技术解析与ESP32实践

1. TMC7300驱动库技术解析&#xff1a;面向嵌入式工程师的UART单线直流电机控制实践指南TMC7300是Trinamic&#xff08;现属Analog Devices&#xff09;推出的高集成度、低功耗直流电机驱动IC&#xff0c;专为电池供电、空间受限及对EMI敏感的应用场景设计。其核心创新在于采用…...

WorkBuddy的优势和劣势分别是什么?

最真实、不吹不黑、结合实际使用体验的 WorkBuddy 优劣势总结&#xff0c;完全基于当前版本&#xff08;2026 年&#xff09;的表现&#xff0c;方便你判断要不要长期用、怎么用更划算。 一、WorkBuddy 的核心优势 1. 真・能动手操作电脑&#xff0c;不是只聊天 这是它最大的亮…...

Arduino Ethernet库深度解析与W5500硬件协同开发指南

1. Arduino Ethernet库深度解析&#xff1a;嵌入式以太网通信的工程实践指南1.1 库定位与硬件基础Arduino Ethernet库是Arduino官方为以太网通信设计的核心驱动库&#xff0c;专为Arduino Ethernet Shield&#xff08;基于W5100/W5200/W5500以太网控制器&#xff09;及兼容硬件…...

JTAG接口原理与应用全解析

1. JTAG接口的前世今生第一次接触JTAG是在2005年调试一块ARM7开发板时。当时为了烧写程序&#xff0c;工程师递给我一条20针的排线&#xff0c;神秘地说&#xff1a;"这是JTAG调试口&#xff0c;小心别接反了。"那时的我完全没想到&#xff0c;这个看似普通的接口会成…...

ACAN2517 Arduino CAN驱动库:经典CAN 2.0B工业通信实战指南

1. 项目概述 ACAN2517 是一款专为 Microchip MCP2517FD、MCP2518FD 和 MCP251863 系列 CAN 控制器设计的 Arduino 兼容驱动库&#xff0c;工作于经典 CAN 2.0B 协议模式。该库并非面向 CAN FD&#xff08;Flexible Data-Rate&#xff09;高速扩展协议&#xff0c;而是聚焦于工业…...

InnoDB存储结构全解析:行页区段与单表W行的关系谌

一、背景与问题缘起 MySQL 5.6.51 版本下 2000 万行核心业务表开展新增字段操作&#xff0c;需求为新增BIGINT(19) NOT NULL DEFAULT 0 COMMENT 注释&#xff08;因业务实际需要存储大数值关联字段&#xff09;。 表的核心特性为Java 多线程密集读写&#xff0c;业务请求持续高…...

Sunshine:自托管游戏串流的革新方案

Sunshine&#xff1a;自托管游戏串流的革新方案 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在游戏世界中&#xff0c;硬件性能往往是制约体验的最大瓶颈。高端显卡、处理器和内…...