子串和子列 子串是一个字符串中连续的一部分,而子列是字符串中保持字符顺序的一个子集,可以连续也可以不连续。例如给定字符串 atpaaabpabtt,pabt 是一个子串,而 pat 就是一个子列。 现给定一个字符串 S 和一个子列 P,本题就请你找到 S 中包含 P 的最短子串。若解不唯一,则输出起点最靠左边的解。 时间限制:1000 内存限制:65536 输入 输入在第一行中给出字符串 S,第二行给出 P。S 非空,由不超过 104 个小写英文字母组成;P 保证是 S 的一个非空子列。 输出 在一行中输出 S 中包含 P 的最短子串。若解不唯一,则输出起点最靠左边的解。 样例输入 atpaaabpabttpcat pat 样例输出 pabt
正确答案:参考程序(Python):子串和子列。在S中找包含P为子列的最短子串,起点最左。双指针贪心。样例atpaaabpabttpcat+pat→pabt。核心:包含子列最短子串。
试卷来源:202412 青少年等级考试C/C++真题三级