挑战
给定单词列表,["Programming", "Puzzles", "Code", "Golf"]
输出单词crossword-style:
编程 ü ž ž l 电极 ls F
算法
- 您必须按给定顺序处理列表。
- 单词从水平开始以交替的方向打印。
这两个单词在第一个单词的第一个字母处相交,第二个单词也存在该单词。如果该字母在第二个单词中多次出现,请选择第一个。
示例:
["no", "on"]
变为:o n o
而不是
n o n
补充说明
- 列表中的相邻单词将至少包含一个普通字母。
["Hi", "there"]
不是有效的输入。 - 言语永远不会碰撞。在第一个可能的交点处将始终有足够的空间来打印单词。
["Hello", "there", "end", "hello"]
不是有效的输入 - 匹配区分大小写。
- 单词可以向左扩展到顶部。
- 水平单词的字母必须用一个空格分隔。
- 输入列表将至少包含两个单词。
- 所有单词都将与正则表达式匹配:
[A-Za-z]+
- 您可以根据需要打印任意数量的尾随空格或换行符,只要单词已正确链接。
- 另一方面,您可能无法添加其他前导空格。最左边浮动的单词的前导空格为零,其他行的前导空格太多,所有行都正确排列。
- 您的程序必须能够处理任意数量的单词
规则
测试用例
输入列表在第一行,输出从第二行开始。
[“堆栈”,“交换”] Ë X C H 大头钉 ñ G Ë
[“此”,“站点”,“已毕业”,“最终”] F 是 他的 毕业的 乐 升 ÿ
编码愉快!
@ edc65对我感到羞耻,已修复。感谢您的提示!
—
Denker
site
和之间的第一个可能的交点graduated
是t