给定单词列表及其缩写的输入,输出可以形成缩写的模式。
让我们以输入的示例为例
potato ptao
puzzle pzze
作为一个例子(即,缩写potato
IS ptao
,和缩写puzzle
是pzze
)。
考虑到所有可能的方法来获得ptao
从potato
。一种可能的方法是采用第一,第三,第四和第六个字母,我们将其称为
1346
。但自从t
和o
这个词出现多次,还有其他多种可能的方式来产生ptao
由potato
:1546
,1342
,和1542
。
同样,该说明pzze
可从产生puzzle
任何的1336
,
1346
,1436
,1446
。这两个缩写唯一的共同之处是1346
; 因此,该输入必须是此输入的输出。如果有多种可能的模式,则可以输出其中的任何一个,一些或全部(至少一个)。
您可以假设:
输入的单词和缩写仅包含小写字母。
输入中至少有一个单词/缩写对。
每个缩写都有可能由其对应的单词构成。
总是会有至少一个模式构成每个缩写。
每个单词的最大长度为9个字符。
输入可以视为以下任意一项:
二维数组/列表/元组数组等
[[word, abbr], [word, abbr], ...]
平面一维数组/列表
[word, abbr, word, abbr, ...]
单个字符串,由非小写字母的任何单个字符分隔
"word abbr word abbr"
哈希/关联数组/等
{word => abbr, word => abbr, ...}
在这些输入选项中的任何一个中,也都可以交换单词/缩写的顺序(请在您的帖子中完整描述输入格式)。
输出可以是单个数字,由非数字分隔的字符串或数组/列表/元组/等。数字。
由于这是code-golf,因此以字节为单位的最短代码将获胜。
测试用例(请记住,如果多个模式都能工作,则仅需要输出≥1个结果):
In Out
--------------------------------------------------------
potato ptao puzzle pzze | 1346
aabbcc abc fddeef def | 246
prgrmming prgmg puzzles pzzlz | 14353
aaaaa a bbbb b ccc c dd d e e | 1
aaaaa a bbbb b ccc c | 1, 2, 3
abcxyz zbcyax | 623514
abcxyz acbbacbcbacbbac | 132213232132213
potato ptao | 1346, 1546, 1342, 1542
a aaaaa | 11111