华为OD机考双机位A卷 - 增强的strstr(Java & Python& JS & C/C++ & GO )

最新华为上机考试

真题目录:点击查看目录
华为OD面试真题精选:点击立即查看
2025华为od机试双机位A卷 -华为OD上机考试双机位A卷

题目描述

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

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

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

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

输入描述

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

输出描述

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

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

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

示例1

输入

abcd
b[cd]

输出

1

说明

相当于是在源字符串中查找bc或者bd,bc子字符串相对于abcd的偏移是1

解题思路

正则表达式题

Java

import java.util.Scanner;
import java.util.regex.Matcher;
import java
【100分 】【增强的strstr】 C 语言有一个库函数:char *strstr(const char *haystack, const char *needle) ,实现在字符串haystack中查找第一次出现字符串needle的位置,如果未找到则返回 null。现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。与strstr函数不同,返回的是源字符串中,匹配子字符串相对于源字符串地址的偏移(从0开始算),如果没有儿配返回-1.输入的字符串长度在[1,100]之间。 阅读详情

相关推荐

【满分】【华为OD机试真题2023 JAVA&JS】字符串解密

字符串解密 知识点数组字符串排序 时间限制:1s空间限制:256MB限定语言:不限 题目描述:给定两个字符串string1和string2。string1是一个被加扰的字符串。string1由小写英文字母('a'~'z')和数字字符('0'~'9')组成,而加扰字符串由'0'~'9'、'a'~'f'组成。string1里面可能包含0个或多个加扰子串,剩下可能有0个或多个有效子串,这些有效子串被加扰子串隔开。

qq_34465338的博客 4198

2026华为OD机考新系统真题 + 双机位C卷 + 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

2026年4月1日起,华为OD机试正式切换至新系统模式!采用力扣模式,无需自己写输入! 难度大幅度降低。正在备考华为OD机试的同学,优先刷新系统机试真题,可大幅提升通过率。 新系统考题考点与旧版一致,无需重新适应。本专栏所有算法题均配有详细思路解析,并提供C语言、JS、C++、Python、Go、Java多语言源码实现。订阅后私信即可开通专属OJ刷题权限,高效备考一次上岸!

算法大师! 45万+

2023华为od机试真题B卷 Python 实现【增强的strstr函数】

Java版本。

wtswts1232的博客 886

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

C 语言有一个库函数: char *strstr(const char *haystack, const char *needle) ,实现在字符串 haystack 中查找第一次出现字符串 needle 的位置,如果未找到则返回 null。现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置。与strstr函数不同,返回的是源字符串中,匹配子字符串相对于源字符串地址的偏移(从0开始算),如果没有匹配返回-1。

qq_34143141的博客 609

【华为OD- C卷 - 增强的strstr 100分(python、java、c++、js、c)】

本文介绍了如何实现一个增强版的 strstr 函数,支持模糊匹配。目标字符串可以包含可选段(用 [] 标识),表示该位置可以匹配任意一个字符。解题思路包括解析目标字符串为匹配模板,并使用滑动窗口在源字符串中查找匹配位置。Python、Java 和 C++ 的解法均通过解析目标字符串为字符集合数组,并在源字符串中滑动窗口进行匹配,返回首次匹配的起始位置,若无匹配则返回 -1。

CodeClimb的博客 1085

【华为OD】| 增强的 strstr

与 strstr 函数不同,返回的是源字符串中,匹配子字符串相对于源字符串地址的偏移(从 0 开始算),如果没有匹配返回-1。相当于是在源字符串中查找 bc 或者 bd,bc 子字符串相对于 abcd 的偏移是 1。目标字符串中 ‘[]’ 必定成对出现,且不会出现嵌套。可选段使用 “[]” 标识,表示该位置是可选段中任意一个字符即可满足匹配条件。与 strstr函数一样,输入参数是两个字符串指针,分别是源字符串和目标字符串。的增强函数,可以使用带可选段的字符串来模糊查询,与。中查找第一次出现字符串。

buff会技术的程序媛de博客 461

【华为OD机试真题2023B卷 JAVA&JS】增强的strstr

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

qq_34465338的博客 2150

【2023】华为OD机试真题Java CC++ Python JS Go-题目0257-增强的strstr

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

amos_cloud的博客 779

【华为OD机试考生抽中题 B卷】增强的 strstr,用 C 编码,速通

与 strstr 函数不同,返回的是源字符串中,匹配子字符串相对于源字符串地址的偏移(从 0 开始算),如果没有匹配返回-1。相当于是在源字符串中查找 bc 或者 bd,bc 子字符串相对于 abcd 的偏移是 1。目标字符串中 ‘[]’ 必定成对出现,且不会出现嵌套。可选段使用 “[]” 标识,表示该位置是可选段中任意一个字符即可满足匹配条件。与 strstr 函数一样,输入参数是两个字符串指针,分别是源字符串和目标字符串。的增强函数,可以使用带可选段的字符串来模糊查询,与。中查找第一次出现字符串。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

华为OD机试用 go 实现 -【增强的 strstr】

与 strstr 函数不同,返回的是源字符串中,匹配子字符串相对于源字符串地址的偏移(从 0 开始算),如果没有匹配返回-1。相当于是在源字符串中查找 bc 或者 bd,bc 子字符串相对于 abcd 的偏移是 1。可选段使用 “[]” 标识,表示该位置是可选段中任意一个字符即可满足匹配条件。与 strstr 函数一样,输入参数是两个字符串指针,分别是源字符串和目标字符串。参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。的增强函数,可以使用带可选段的字符串来模糊查询,与。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

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

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

KJ.JK 1924

华为OD机试详细解析:增强的`strstr`函数 - 基于C++、Java、JavaScript、Python四种语言的解题思路与实现

与 C 语言中的strstr类似,实现一个增强的字符串查找函数。该函数可以接受带有可选段的目标字符串进行模糊匹配。可选段由[]括起来,表示该位置可以匹配括号中任意一个字符。目标字符串"b[cd]"表示可以匹配"bc"或"bd"。

m0_57781768的博客 331

增强的strstr

已支持(Java & JS & Python & C & C++),实现:逻辑分析

CSDN 7860

SAP PI实战:5分钟搞定REST适配器同步接口配置(含Postman测试技巧)

本文详细介绍了如何在SAP PI中快速配置REST适配器同步接口,包括ESR设计、集成流配置及Postman测试技巧。通过实战步骤和关键参数设置,帮助开发者高效实现系统集成,特别适合需要实时数据交互的业务场景。

weixin_33738555的博客 485

Clock Gating设计陷阱:为什么你的ICG cell总是导致setup violation?(附解决方案)

本文深入分析了数字IC设计中ICG(Integrated Clock Gating)单元导致setup时序违规的常见问题,包括时钟偏斜和数据路径过长两大核心原因。通过量化分析影响因素,提供了逻辑重组、寄存器重定时等优化策略,并介绍了预防性设计方法和物理实现阶段的优化技巧,帮助工程师有效解决ICG相关的setup violation问题。

weixin_29168153的博客 198

[Github]GitHub 2FA快速安全配置全攻略

GitHub强制要求用户启用双重身份验证(2FA)以提升代码安全。本文详细介绍了2FA的三种实现方式:TOTP应用验证(推荐)、SMS短信验证(备用)和硬件安全密钥(最安全),并提供了配置指南。特别推荐使用在线工具2FA.run快速测试TOTP功能。文章还涵盖恢复代码管理、企业级2FA策略制定以及常见问题解决方案,如时间同步问题、多设备同步等。通过强制2FA、定期审计和建立安全事件响应流程,开发者可构建更安全的代码管理体系。

冰茶的博客 2610

Sentinel2 哨兵2数据下载方法(USGS)-史上最全讲解

本文讲述了从USGS官网下载Sentinel2的方法。主要包括USGS官网的注册和下载流程,以及选定研究区中所出现的问题、解决办法。

xiatiandexia123的博客 6万+

OpenClaw 子代理配对失败问题分析与解决方案

OpenClaw子代理配对失败问题分析与解决方案 问题核心在于agent设备权限不足,仅有operator.approvals权限而缺少operator.admin权限,导致子代理启动时形成权限死锁。本文提供三种解决方案: 直接编辑设备配对文件(推荐):修改本地JSON文件,为agent设备添加完整operator.admin权限,操作简单快捷。 标准重新配对流程:删除现有agent设备后重新配对,通过正常审批流程获取完整权限,符合系统安全设计。 修改源码降低权限要求(仅限开发环境):调整子代理代码避免强制

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 142

MATLAB代码实现了一个柱塞泵配流盘过流面积的计算和可视化功能

该MATLAB代码实现了一个柱塞泵配流盘过流面积的计算和可视化功能。输出曲线可直接用于验证设计的合理性(如是否存在过流面积突变或不足)。的不同范围,选择对应的几何模型计算过流面积。通过分段逻辑计算柱塞腔在不同旋转角度(过流面积在特定条件下会被限制(如。),确保结果符合物理实际。条件分支,根据旋转角度。

huanghm88的专栏 575

SPRD Android 14 通过属性控制系统设置显示双栏或者单栏

SPRD Android 14 通过属性控制系统设置显示双栏或者单栏

m0_60898338的博客 1117

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 华为OD机考双机位A卷 - 亲子游戏(Java & Python& JS & C/C++ & GO )
下一篇: 华为OD机考双机位A卷 - 单词接龙(Java & Python& JS & C/C++ & GO )
算法大师
算法大师 新星创作者: 算法与数据结构技术领域 新星创作者: 算法与数据结构技术领域
博客等级 码龄5年 1万+粉丝 1658原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

算法大师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值