华为OD机试 最左侧冗余覆盖子串

发布时间 2023-04-13 10:28:24作者: 梦想橡皮擦

本期题目:最左侧冗余覆盖子串

题目

给定两个字符串s1s2和正整数K,其中s1长度为n1s2长度为n2, 在s2中选一个子串,满足:

  1. 该子串长度为n1+k
  2. 该子串中包含s1中全部字母,
  3. 该子串每个字母出现次数不小于s1中对应的字母, 我们称s2以长度k冗余覆盖s1

给定s1s2k, 求最左侧的s2以长度k冗余覆盖s1的子串的首个元素的下标, 如果没有返回-1

输入

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

输出

最左侧的s2以长度k冗余覆盖s1的子串首个元素下标,如果没有返回-1

题解地址 ?

华为 OD 机试

今年大环境不好,投递简历没得到回复,只有华为 OD 和几个外包公司联系上。机试分三道编程题,满分 400 分,150 分及格,分数越高推荐的部门越多。性格测试 50 道选择题,前后答案需一致,尽量往积极阳光方向靠拢。技术一面问八股文和基础 SQL 优化、索引等,手撕编程题。技术二面问项目经验和实现细节,手撕中等难度编程题。主管面和 HR 资面询问工作时间和离职原因,谈薪资。整个面试过程持续约 2 周,最终通过。虽然机试分数不到 300 分,但面试官在技术二面给笔者更多机会,使面试时间超过了 90 分钟。虽然 OD 待遇不比其他公司高多少,但筛选出优秀人才的目的促使笔者参加面试。