受启发于创建二元墙
给定一个正整数列表,我们可以像这样将它们彼此重叠地写出来,[2, 6, 9, 4]
例如:
0010
0110
1001
0100
我们可以将其想象成一堵墙:
..#.
.##.
#..#
.#..
但是,这是一堵非常薄弱的墙,已经倒塌了!每个1
(#
)跌落直到撞到“地面”或另一个1
(#
)。的0
S(.
S)存在于由向左移动斑点1
秒。
变为以下内容:
....
....
.##.
####
转换为:
0000
0000
0110
1111
作为数字列表,其为[0, 0, 6, 15]
。
另一个测试案例
[10, 17, 19, 23]
变成:
01010
10001
10011
10111
变成:
00000
10011
10011
11111
翻译回:
[0, 19, 19, 31]
挑战
给定一个正整数列表,将此转换应用于列表。输入/输出为任何合理格式的正整数列表。有标准漏洞。
这是一个代码高尔夫球,因此最短答案以字节为单位!
Sandbox Post
—
HyperNeutrino
更多的用例?您知道,非方形测试用例会很好。
—
Leaky Nun
@LeakyNun当然。我会去做。
—
HyperNeutrino
那只是位数组的排序问题。
—
MarcusMüller17年
@MarcusMüller你是对的-我意识到,在MATL答案之后:P
—
HyperNeutrino