1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

题目描述

给定两个字符串 str1 和 str2,如果字符串 str1 中的字符经过排列组合后,字符串 str2 中有一个字符串是 str1 的子串,则认为 str1 是 str2 的关联子串。

若 str1 是 str2 的关联子串,请返回子串在 str2 的起始位置;若不是关联子串,则返回 -1。

思路

要解决这个问题,我们可以利用滑动窗口和字符计数的技巧。具体步骤如下:

P3059.关联子串(100分)

    1000ms Tried: 189 Accepted: 62 Difficulty: 5 所属公司 : 华为od
    算法与标签>滑动窗口

题目内容

给定两个字符串str1str1str1和str2str2str2,如果字符串str1str1str1中的字符,经过排列组合后的字符串中,只要有一个字符串是str2str2str2的子串,则认为str1str1str1是str2str2str2的关联子串。

若str1str1str1是str2str2str2的关联子串,请返回子串在str2str2str2的起始位置;

若不是关联子串,则返回−1-1−1。

输入描述

输入两个字符串,分别为题目中描述的str1str1str1、str2str2str2。

输出描述

若str1str1str1是str2str2str2的关联子串,请返回子串在str2str2str2的起始位置;

若不是关联子串,则返回−1-1−1。

若 str2str2str2 中有多个 str1str1str1 的组合子串,请返回最小的起始位置。

备注

  • 输入的字符串只包含小写字母;
  • 两个字符串的长度范围[1,100000][1, 100000][1,100000]之间;

样例1

输入

abc efghicbaiii

输出

5

说明

str2str2str2包含str1str1str1的一种排列组合("cabcabcab"),此组合在str2str2str2的字符串起始位置为555(从000开始计数)

样例2

输入

abc efghiccaiii

输出

-1

说明

“abcabcabc”字符串中三个字母的各种组合(abc、acb、bac、bca、cab、cbaabc、acb、bac、bca、cab、cbaabc、acb、bac、bca、cab、cba),str2str2str2中均不包含,因此返回−1-1−1

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 140ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?