题目描述
在一行中输入一个字符串数组,如果其中一个字符串的所有以索引0开头的子串在数组中都有,那么这个字符串就是潜在密码,
在所有潜在密码中最长的是真正的密码,如果有多个长度相同的真正的密码,那么取字典序最大的为唯一的真正的密码,求唯一的真正的密码。
输入描述
无
输出描述
无
用例
输入 | h he hel hell hello o ok n ni nin ninj ninja |
输出 | ninja |
说明 | 按要求,hello、ok、ninja都是潜在密码。 检查长度,hello、ninja是真正的密码。 检查字典序,ninja是唯一真正密码。 |
输入 | a b c d f |
输出 | f |
说明 | 按要求,a b c d f 都是潜在密码。 检查长度,a b c d f 是真正的密码。 检查字典序,f是唯一真正密码。 |
题目解析
分析
我们以样例1 来分析题目:
已经知道:hello、ok、ninja是潜在密码。
这是为啥呢?其实很简单
一个字符串的所有以索引0开头的子串在这句话是重点。以hello为例,他以索引0为开头的字串是?也就是以h开头的字串是?h,he,hel,hell,hell0。这五个字串。
然后这5个字串同样都在输入的数组中,所有hello是潜在的密码。
同理ok、ninja也是潜在的密码。
hello、ok、ninja最长的是hello和ninja。
然后再根据字典序判断出ninja是唯一的真正密码。
解题思路
-
处理输入:首先,