缩写的泛化
给定单词列表及其缩写的输入,输出可以形成缩写的模式。 让我们以输入的示例为例 potato ptao puzzle pzze 作为一个例子(即,缩写potatoIS 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 …