news 2026/4/18 14:43:28

【Leetcode】3008. Find Beautiful Indices in the Given Array II

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Leetcode】3008. Find Beautiful Indices in the Given Array II

题目地址:

https://leetcode.com/problems/find-beautiful-indices-in-the-given-array-ii/description/

给定三个字符串s ssa aab bb,还有一个正整数k kk,求所有的i ii满足s [ i : ] s[i:]s[i:]a aa为前缀,并且s ss含有子串b bb,且b bb开始的位置(之一)和i ii的距离小于等于k kk。返回所有满足条件的i ii

先用KMP求出a aab bbs ss中出现的所有位置的下标,这样得出两个下标数组v a v_avav b v_bvb,并且它们都是单调增的。遍历v a v_ava,对于每个i ii,求出j jj使得j jj是满足v b [ j ] ≥ i − k v_b[j]\ge i-kvb[j]ik的最小的数,然后判断v b [ j ] ≤ i + k v_b[j]\le i+kvb[j]i+k是否成立。如果成立,则将i ii加入答案。注意j jj是不需要回退的。代码如下:

classSolution{public:vector<int>beautifulIndices(string s,string a,string b,intk){s=" "+s;a=" "+a;b=" "+b;autof=[](auto&s,auto&p){intm=p.size()-1,n=s.size()-1;vector<int>ne(m+1);for(inti=2,j=0;i<=m;i++){while(j&&p[i]!=p[j+1])j=ne[j];if(p[i]==p[j+1])j++;ne[i]=j;}vector<int>res;for(inti=1,j=0;i<=n;i++){while(j&&s[i]!=p[j+1])j=ne[j];if(s[i]==p[j+1])j++;if(j==m){res.push_back(i-j);j=ne[j];}}returnres;};autova=f(s,a),vb=f(s,b);intj=0;vector<int>res;for(inti:va){intl=i-k,r=i+k;while(j<vb.size()&&vb[j]<l)j++;if(j<vb.size()&&vb[j]<=r)res.push_back(i);}returnres;}};

时空复杂度O ( l s + l a + l b ) O(l_s+l_a+l_b)O(ls+la+lb)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:05:24

揭秘 AI 记忆、RAG 演进与自我进化的工程实践!

在 2025 年的今天&#xff0c;我们必须承认&#xff0c;当我们要构建一个复杂的 AI 系统时&#xff0c;仅仅会写“你是一个 XX 专家”是远远不够的。我们面临着更本质的系统工程挑战&#xff1a;记忆缺失&#xff1a;Agent 如何像人一样拥有“短期记忆”和“长期记忆”&#xf…

作者头像 李华
网站建设 2026/4/18 3:46:14

【开题答辩全过程】以 基于Java的影视会员管理系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/4/17 22:50:06

LobeChat公众号昵称创意生成

LobeChat&#xff1a;打造专属AI助手的开源门户 在AI技术加速渗透日常工作的今天&#xff0c;越来越多的团队和个人开始构建自己的“数字员工”——那些能写代码、读文档、答问题、做翻译的智能助手。然而&#xff0c;面对OpenAI、Claude等主流服务的数据隐私顾虑与高昂成本&am…

作者头像 李华
网站建设 2026/4/18 9:49:53

NVIDIA没想到会间接干掉中国中低端手机,AI横扫一切!

NVIDIA是AI芯片的龙头&#xff0c;随着AI越发火热&#xff0c;如今它开始间接影响到手机行业&#xff0c;那就是内存&#xff0c;普遍认为中低端手机明年的内存将大幅度缩水&#xff0c;这就让中低端手机更难用了&#xff0c;甚至这些中低端手机可能彻底没人买了&#xff01;国…

作者头像 李华
网站建设 2026/4/18 7:01:22

Mem Reduct内存管理终极指南:解决电脑卡顿的完整教程

您是否经常遇到电脑运行缓慢、程序响应迟钝的问题&#xff1f;Windows系统内存管理不当是导致这些问题的常见原因。Mem Reduct作为一款轻量级实时内存管理工具&#xff0c;能够有效监控和清理系统内存&#xff0c;实现系统加速和性能优化。 【免费下载链接】memreduct Lightwei…

作者头像 李华
网站建设 2026/4/18 0:17:49

数字记忆守护者:Speechless微博备份实践手册

数字记忆守护者&#xff1a;Speechless微博备份实践手册 【免费下载链接】Speechless 把新浪微博的内容&#xff0c;导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 还记得那些在微博上记录的美好瞬间吗&#x…

作者头像 李华