题目内容

给定两个字符串 string1 和 string2。 string1 是一个被加扰的字符串。
string1 由小写英文字母(’a’ ’z’)和数字字符(’0’ ’9’)组成,而加扰字符串由’0’ ’9’、’a’ ’f’组成。
string1 里面可能包含 0 个或多个加扰子串,剩下可能有 0 个或多个有效子串,这些有效子串被加扰子串隔开。
string2 是一个参考字符串,仅由小写英文字母(’a’ ’z’)组成。你需要在 string1 字符串里找到一个有效子串,这个有效子串要同时满足下面两个条件:

(1)这个有效子串里不同字母的数量不超过且最接近于 string2 里不同字母的数量,即小于或等于string2 里不同字母的数量的同时且最大。

(2)这个有效子串是满足条件(1)里的所有子串(如果有多个的话)里字典序最大的一个。

如果没有找到合适条件的子串的话,请输出“Not Found”

输入描述

inputstring1 inputstring2

输出描述

outputstring

样例1

输入
123admyffc79pt
ssyy

输出
pt

说明

将输入字符串 1 里的加扰子串“123ad”、“ffc79”去除后得到有效子串列:"my"、"pt",其中"my"里不同字母的数量为 2 (有‘m’和'y'两个不同字母),“pt”里不同字母的数量为 2(有'p'和't'两个不同字母);输入字符串 2 里不同字母的数量为 2 (有‘s’和'y'两个不同字母)。
可得到最终输出结果为“pt”,其不同字母的数量最接近与“ssyy”里不同字母的数量的同时字典序最大。

样例2

输入
123admyffc79ptaagghi2222smeersst88mnrt
ssyyfgh
输出
mnrt

说明

将输入字符串 1 里的加扰子串 “123ad”、“ffc79”、"aa"、"2222"、"ee"、"88" 去除后得到有效子串序列:“my”、“pt”、“gghi”、"sm"、“rsst”、"mnrt";

输入字符串 2 里不同字母的数量为 5(有 ′s′、′y′、′f′、′g′、′h′5个不同字母)。
可得到最终输出结果为“mnrt”,其不同字母的数量(为4)最接近于“ssyyfgh”里不同字母的数量,其他有效子串不同字母的数量都小于“mnrt”。

样例3

输入
abcmnq
rt
输出
Not Found

说明

将输入字符串 1 里的加扰子串 “abc” 去除后得到有效子串序列:“mnq”;

输入字符串 2 里不同字母的数量为 2(有′r′、′t′两个不同的字母)。

可得到最终的输出结果为“Not Found”,没有符合要求的有效子串,因有效子串里的不同字母的数量(为3),大于输入字符串 2 里的不同字母的数量。


灵芸小骏
8.6k 声望726 粉丝

移动开发者。