页面加载中…
通过率 54% · 提交 466 · 通过 250
小慕正在开发一个字符串匹配工具。他有两个字符串str1和str2,如果str1中的字符经过任意后,能得到一个字符串恰好是str2的某个连续子串,那么他就称str1是str2的。 如果str1是str2的关联子串,请返回这个子串在str2中第一次出现的;如果不是,则返回-1。
这类题属于华为 OD 机考真题方向中「100分 / 2024E」方向的高频题型,通常考察对「100分 / 2024E」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入两个字符串,分别为题目中描述的str1、str2。
若str1是str2的关联子串,请返回子串在str2的起始位置; 若不是关联子串,则返回-1。 若str2中有多个str1的组合子串,请返回最小的起始位置。
示例 1
输入示例
abc efghiccaiii
输出示例
-1
"abc"字符串中三个字母的各种组合(abc、acb、bac、bca、cab、cba),str2中均不包含,因此返回-1
示例 2
输入示例
abc efghicabiii
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
输出示例
5
str2包含str1的一种排列组合("cab"),此组合在str2的字符串起始位置为5(从0开始计数)
时间限制 1000 ms · 内存限制 128 MB
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有