华为OD机试E卷 –最左侧冗余覆盖子串–24年OD统一考试(Java & JS & Python & C & C++)

文章目录

  • 题目描述
  • 输入描述
  • 输出描述
  • 用例
  • 题目解析
  • Js算法源码
  • Java算法源码
  • python算法源码
  • c算法源码
  • c++算法源码
  • 题目描述

    给定两个字符串s1和s2和正整数k,其中s1长度为n1,s2长度为n2,
    在s2中选—个子串,满足:
    1∶该子串长度为n1+k
    2:该子串中包含s1中全部字母,
    3:该子串每个字母出现次数不小于s1中对应的字母,
    我们称s2以长度k冗余覆盖s1,
    给定s1, s2,k,
    求最左侧的s2以长度k冗余覆盖s1的子串的首个元素的下标,
    如果没有返回-1。

    输入描述

    输入为三行
    第一行为s1
    第二行为s2
    第三行为k
    s1和s2都只包含小写字母

    输出描述

    最左侧的s2以长度k冗余覆盖s1的子串的首个元素下标,
    若不存在,则返回-1.

    用例

    输入

    ab
    aabcd
    1

    输出

    0

    输入

    abc
    dfs
    10

    输出

    1</

    作者:飞码创造者

    物联沃分享整理
    物联沃-IOTWORD物联网 » 华为OD机试E卷 –最左侧冗余覆盖子串–24年OD统一考试(Java & JS & Python & C & C++)

    发表回复