华为OD机试 - 增强的strstr(Java)

题目描述

C 语言有一个库函数: char *strstr(const char *haystack, const char *needle) ,实现在字符串 haystack 中查找第一次出现字符串 needle 的位置,如果未找到则返回 null。

现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。

可选段使用“[]”标识,表示该位置是可选段中任意一个字符即可满足匹配条件。比如“a[bc]”表示可以匹配“ab”或“ac”。

注意目标字符串中可选段可能出现多次。

输入描述

与strstr函数一样,输入参数是两个字符串指针,分别是源字符串和目标字符串。

输出描述

与strstr函数不同,返回的是源字符串中,匹配子字符串相对于源字符串地址的偏移(从0开始算),如果没有匹配返回-1。

补充说明:源字符串中必定不包含‘[]’;目标字符串中‘[]’必定成对出现,且不会出现嵌套。

输入的字符串长度在[1,100]之间。

用例

<
【华为OD机试真题2023B卷 JAVA&JS】增强的strstr 增强的strstr C 语言有一个库函数:char *strstr(const char *haystack, const char *needle) ,实现在字符串haystack中查找第一次出现字符串needle的位置,如果未找到则返回 null。现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。可选段使用“[]”标识,表示该位置是可选段中任意一个字符即可满足匹配条件。比如“a[bc]”表示可以匹配“ab”或“ac 阅读详情

相关推荐

【华为OD机试真题 2025B卷】785、增强的strstr | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025B卷】785、增强的strstr | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备

KJ.JK 1935

【华为OD机试真题 Java语言】371、增强的strstr | 机试真题+思路参考+代码解析

>C语言有一个库函数: char *strstr(const char *haystack,const char *needle) ,实现在字符串haystack中查找第一 次出现字符串needle的位置,如果未找到则返回null >  现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置 >  可选段使用"[]"标识,表示该位置是可选段中任意一个字符即可满足匹配条件,比如"a[bc]"表示可以匹配"ab"或"ac" >&

KJ.JK 1612

【华为OD机试真题E卷】371、增强的strstr | 机试真题+思路参考+代码解析(本题100%)(E卷复用)(C++、Java、Py、C语言、JS)

题目描述 >C语言有一个库函数: char *strstr(const char *haystack,const char *needle) ,实现在字符串haystack中查找第一 次出现字符串needle的位置,如果未找到则返回null >  现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置 >  可选段使用"[]"标识,表示该位置是可选段中任意一个字符即可满足匹配条件,比如"a[bc]"表示可以匹配"ab"或"a

KJ.JK 2650

【华为OD机试真题 双机位A卷】903、增强的strstr | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

【华为OD机试真题 双机位A卷】903、增强的strstr | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备

KJ.JK 1789

华为OD机试 Java -增强的strstr

C 语言有一个库函数: char *strstr(const char *haystack, const char *needle) ,实现在字符串 haystack 中查找第一次出现字符串 needle 的位置,如果未找到则返回 null。 现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。 可选段使用“[]”标识,表示该位置是可选段中任意一个字符即可满足匹配条件。比如“a[bc]”表示可以匹配“ab”或“ac”。注意目标字符串中可

2302_77831730的博客 386

【华为OD机试】真题E卷-增强的strstr(Java)

c 语言有一个库函数: char*strstr(const char *haystack, const char*needle),实现在字符串 haystack 中查找第一次出现字符串 needle 的位置,如果未找到则返回 null。现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。可选段使用“[]"标识,表示该位置是可选段中任意一个字符即可满足匹配条件。

u014481728的博客 1777

华为OD机试Java - 增强的strstr

C 语言有一个库函数: char *strstr(const char *haystack, const char *needle) ,实现在字符串 haystack 中查找第一次出现字符串 needle 的位置,如果未找到则返回 null。 现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。 可选段使用“[]”标识,表示该位置是可选段中任意一个字符即可满足匹配条件。比如“a[bc]”表示可以匹配“ab”或“ac”。注意目标字符串中可

qq_40642440的博客 584

华为OD机试E卷 - 增强的strstr(Java & Python& JS & C++ & C )

C 语言有一个库函数: char *strstr(const char *haystack, const char *needle) ,实现在字符串 haystack 中查找第一次出现字符串 needle 的位置,如果未找到则返回 null。现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。可选段使用“[]”标识,表示该位置是可选段中任意一个字符即可满足匹配条件。比如“a[bc]”表示可以匹配“ab”或“ac”。

算法大师! 2323

华为OD机试真题精讲:增强的strstr(Python/Java/C++多语言实现)

本文介绍了华为OD机试中的增强版字符串匹配问题,重点讲解了支持通配符匹配的enhanced_strstr函数实现。题目要求实现一个能够处理?(匹配任意单字符)和*(匹配任意长度字符序列)的通配符匹配算法,并返回首次完整匹配的起始索引。文章详细分析了问题核心考点,包括通配符规则解析、双指针+回溯算法优化、边界场景处理等关键点。通过四步核心流程(初始化变量、主串遍历匹配、终止后处理、计算起始索引)和双指针逻辑拆解,提供了Python实现代码,该方案具有O(n+m)时间复杂度和O(1)空间复杂度,能够高效处理大数

bkspiderx的博客 136

2023华为od机试B卷【增强的strstr】Java

由于机试的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。与strstr函数不同,返回的是源字符串中,匹配子字符串相对于源字符串地址的偏移 (从0开始算),如果没有匹配返回-1。补充说明: 源字符串中必定不包含"[]”,目标字符串中”[]"必定成对出现,且不会出现嵌套。1:涉及到匹配的策略,是一个正则匹配类的题目。

斌擎科技 81

华为OD机试 2025 双机位A卷 - 增强的strstr (C++ & Python & JAVA & JS & GO)

华为OD机试2025双机位A卷 增强的strstr,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1099

使用光流进行 Warp 的流程

光流描述了图像帧中每个像素的运动。前向光流:描述了帧中每个像素在帧中的移动位置。后向光流:描述了帧中每个像素在帧​ 中的移动位置。水平方向的位移(x 方向),即每个像素水平移动了多少像素。垂直方向的位移(y 方向),即每个像素垂直移动了多少像素。使用光流进行 Warp 的流程Warp 是通过光流对图像进行变换的操作,旨在将前一帧的像素根据光流场映射到下一帧的对应位置。Step 1: 计算光流我们首先需要通过光流网络(如 RAFT)来估算两帧之间的光流。我们可以获得前向光流(从帧​ 到帧。

qq_44199605的博客 2108

【EMC电磁兼容】02.04——原理图的实战落地细节

原理图上的关于EMC的落地体现一、元器件的选型二、原理图上的EMC体现在哪里?1.芯片电源管脚滤波去耦:2.时钟电路滤波设计3.低速电路滤波抗干扰设计4.通讯接口电路的防护滤波5.系统输入电源端口电路的防护滤波6.系统接地的定义7.芯片软件功能的审查 一、元器件的选型 ​ 原理图最初设计涉及到选型元器件方面: 元器件选型 不仅仅功能需要满足要求,还需要考虑其它细节参数在不同应力下的反应,封装的不同也会产生不同的变化。 元器件替代 常常因为成本原因进行器件替代,除了要考虑功能参数相同时也要考虑系统参数

Time to Forget 2243

联想ThinkPad声卡驱动安装避坑指南:从E470到X1 Carbon的通用解法

本文详细介绍了ThinkPad声卡驱动安装的全流程,从硬件识别到驱动获取、安装技巧及深度排错。涵盖E470到X1 Carbon等不同机型的通用解法,帮助用户解决音频驱动问题,提升使用体验。重点讲解了声音驱动的精准识别和安装策略,确保系统稳定运行。

weixin_29207439的博客 708

Cadence 16.6与17.4双版本共存避坑指南:从安装顺序到环境变量配置

本文是一份详细的Cadence 16.6与17.4双版本共存实战指南。针对硬件工程师和PCB设计者同时处理新旧项目的需求,文章深入剖析了版本冲突根源,并提供了从安装顺序、环境隔离到故障排查的完整解决方案。核心在于通过环境变量精细化管理与脚本控制,实现两个版本的稳定共存与无缝切换,有效解决了文件关联混乱、交互布局失效等常见问题。

html8的博客 977

【华为OD机试真题 2025C卷】238、贪吃蛇 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷】238、贪吃蛇 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华为od,

正在更新最新华为OD机试2025B卷,提供OJ在线刷题 196

当AI学会写“自传”:OpenClaw 的 SOUL.md 如何把配置文件变成一颗会变形的心

SOUL.md。

步子哥的博客 1309

PVE虚拟机运行不流畅,出现卡顿。

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 3063

5.7 BGP属-ORIGIN

注意:当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP > EGP > Incomplete。通过以上输出可以看到路由表选择了R3发过来的路由,因为R1的路由的起源为?通过以上输出我们可以看到针对于1.1.1.1这条路由有两条,从R1和R3传过来的起源都属于IGP。(4)把从R1传过来的路由的起源改为incomplete。通过以上输出可以看到,从R1传过来的路由是最优的。(2)在R2上查看1.1.1.1的路由详细信息。

lwljh134的博客 308

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: 华为OD机试 - 矩形相交的面积(Java)
下一篇: 华为OD机试 - 分割数组的最大差值(Java)
清水乐园
博客等级 码龄13年 175粉丝 398原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清水乐园

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值