news 2026/4/24 11:55:48

[Java][Leetcode simple] 28. 找出字符串中第一个匹配项的下标

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[Java][Leetcode simple] 28. 找出字符串中第一个匹配项的下标

暴力匹配

I 如果大于m - n则永远不可能有匹配成功的字符串(长度太短,不够匹配)

classSolution{publicintstrStr(Stringhaystack,Stringneedle){intm=haystack.length();intn=needle.length();intcnt=0;inttmp=0;if(m<n)return-1;for(inti=0;i<=m-n;i++){tmp=i;cnt=0;while(cnt<n){if(haystack.charAt(tmp)==needle.charAt(cnt)){tmp++;cnt++;}else{break;}}if(cnt==n){returni;}}return-1;}}

KMP算法

和暴力匹配相比,暴力法一旦匹配失败,文本指针要回退、模式串也要从头开始,会做很多重复比较,效率不高。
而 KMP 最大的特点就是:文本指针永远不回退,只往前走。
它的核心思想是:利用模式串本身的前后缀重复信息,提前预处理出一个 next 数组,记录每个位置匹配失败后,模式串应该跳到哪里继续比较,而不是直接回到 0。
这样就避免了重复比较,把时间复杂度从暴力的 O (n*m) 优化到了 O(n + m),非常稳定高效。

classSolution{publicintstrStr(Stringhaystack,Stringneedle){intm=haystack.length();intn=needle.length();if(n==0)return0;if(m<n)return-1;int[]next=newint[n];for(inti=1,j=0;i<n;i++){while(j>0&&needle.charAt(i)!=needle.charAt(j)){j=next[j-1];}if(needle.charAt(i)==needle.charAt(j)){j++;}next[i]=j;}for(inti=0,j=0;i<m;i++){while(j>0&&haystack.charAt(i)!=needle.charAt(j)){j=next[j-1];}if(haystack.charAt(i)==needle.charAt(j)){j++;}if(j==n){returni-n+1;}}return-1;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 11:55:41

Qwen3-4B-Thinking实战案例:健康科普文章生成与医学指南一致性校验

Qwen3-4B-Thinking实战案例&#xff1a;健康科普文章生成与医学指南一致性校验 1. 模型介绍与部署 1.1 Qwen3-4B-Thinking模型概述 Qwen3-4B-Thinking-2507-Gemini-2.5-Flash-Distill是一个经过特殊训练的文本生成模型&#xff0c;它在约5440万个由Gemini 2.5 Flash生成的to…

作者头像 李华
网站建设 2026/4/24 11:52:42

2026程序员转行大模型领域方向推荐,这五个方向最有发展前景!!

在2026年AI产业高速迭代的浪潮中&#xff0c;大模型技术已彻底打破“实验室壁垒”&#xff0c;进入“开源即落地、芯片刚适配就上岗”的实用化新阶段&#xff0c;成为推动各行业数字化转型的核心引擎。对于程序员而言&#xff0c;这不再是“可选的转型方向”&#xff0c;而是“…

作者头像 李华
网站建设 2026/4/24 11:48:21

毕业季救星:我用百考通AI把论文写作变成“填空题”

告别熬夜硬扛&#xff0c;这套引导式写作流程让我找回了对毕业论文的掌控感 又到了一年中最忙碌的毕业季。走在校园里&#xff0c;总能看到图书馆灯火通明&#xff0c;自习室里坐满了眉头紧锁的毕业生们。选题被否、文献杂乱、格式混乱、查重焦虑……这些看似平常的论文写作环节…

作者头像 李华
网站建设 2026/4/24 11:44:54

校招-HR最后问“你还有什么问题吗?”千万别答“没有了”!

适用对象&#xff1a;26届、27届计算机类专业校招生&#xff5c;场景&#xff1a;技术面、HR面最后的反问环节 校招大礼包获取&#xff1a;入口 可能是至今最全&#xff0c;最好&#xff0c;最实用的校招大礼包&#xff0c;减少信息差&#xff0c;帮你提升80%概率拿到offer 很…

作者头像 李华