编写一个函数或程序,当给定名称列表时,输出或返回一个列表,其中给定名称的重复项具有其姓氏的唯一缩写形式。
输入:
名称列表,其中名称由给定名称定义,姓氏由空格分隔。名称是仅包含大写和小写字母的非空字符串。该列表可以是字符串数组,也可以是用恒定的非字母,非空格字符分隔的名称,但是输出的格式必须与输入的格式相同。
输出:
输入名称的列表,其顺序和格式与通过以下规则修改的输入相同:
- 对于唯一的给定名称,仅输出给定名称
- 对于具有相同给定名称的名称:
- 除了其给定名称外,还要添加其姓氏的最短唯一版本,该版本不与其他名称共享,后跟一个句点。例如:
John Clancy, John Smith
变John C.,John S.
和James Brown, James Bratte
变James Bro.,James Bra.
- 如果一个姓氏是另一个姓氏的子集,例如
Julian King,Julian Kingsley
,则返回较小的姓氏的完整姓氏,不带句点。这个例子将成为Julian King,Julian King.
- 除了其给定名称外,还要添加其姓氏的最短唯一版本,该版本不与其他名称共享,后跟一个句点。例如:
- 基本上,句点代表正则表达式
.+
,其中只有一个名称应与之匹配。 - 您可能会假设没有人会共享相同的给定名称和相同的姓氏
- 名称区分大小写
测试用例:
John Clancy,Julie Walker,John Walker,Julie Clancy
->John C.,Julie W.,John W.,Julie C.
Julian King,Jack Johnson,Julian Kingsley
>Julian King,Jack,Julian King.
Jack Brown,Jack Black,Jack Blue
>Jack Br.,Jack Bla.,Jack Blu.
John Storm,Jon Snow,Johnny Storm
>John,Jon,Johnny
Jill DeSoma,Jill Desmond
>Jill DeS.,Jill Des.
XxXnO sCOppeXxX,XxXNO MERCYXxX
>XxXnO,XxXNO
这是代码高尔夫球,因此每种语言的最低字节数为准。
相关,相关(感谢@Laikoni)。Sandbox Post
—
Jo King
哪里的
—
Caird coinheringaahing
Angela C.
测试用例来自?
原本应该是
—
乔金
Julie
哎呀,谢谢。固定