给定以10为底的正整数数组,其中n > 0
输出二进制墙的表示形式。
这是如何运作的?
- 将每个数字转换为其二进制表示形式。
- 用前导零填充表示形式到最长的零,即
1, 2
->1, 10
->01, 10
。 - 在
1
s为砖块而0
s为砖块的情况下创建墙。
墙是一个字符块,其中任何可打印的字符代表一块砖块,而空格(32
)代表丢失的砖块。您可以为砖块选择任何字符,只要它不是空白字符,就不必在墙上有区别。缺少的砖块字符必须为空格。对于下面的示例,我使用*
了积木。
例
输入:
[ 15, 7, 13, 11 ]
[ 1111, 111, 1101, 1011 ]
[ 1111, 0111, 1101, 1011 ]
输出:
**** *** ** * * **
规则
- 输入必须以10为基数,如果您的语言接受其他基数,则您可能不使用它们。
- 允许前导和尾随新行。
- 输入可以视为整数列表,单独的参数或任何合理的格式。
- 输出可以采用任何合理的格式:新行分隔的字符串,行数组,二维数组等。
- 不允许出现标准漏洞。
测试用例
请注意,在第一个测试用例中,所有层的末尾都有一块空砖。
[ 14, 4, 6, 2 ]
***
*
**
*
[ 1, 2, 4, 8, 16 ]
*
*
*
*
*
[ 15, 11, 15, 15 ]
****
* **
****
****
[ 11, 10, 9, 8 ]
* **
* *
* *
*
这是代码高尔夫球,所以最短的代码获胜!
[[1, " ", 1, " "], ...]