给定一个衣衫褴褛的列表,我们可以将元素的深度定义为其上方数组的数量或嵌套的数量。
例如,对于列表[[1, 2], [3, [4, 5]]],2的深度为2,因为它嵌套在两个列表中:基本列表和列表[1, 2]。4的深度为3,因为它嵌套在三个列表中。
你面临的挑战是,给出一个粗糙的正整数列表,把它们乘以深度。
例如,给定列表[[1, 2], [3, [4, 5]], 6]:
因此,结果是[[2, 4], [6, [12, 15]], 6]。
另一种看待它的方法:
[[1, 2], [3, [4, 5 ]], 6] - Original list
[[2, 2], [2, [3, 3 ]], 1] - Depth map
[[2, 4], [6, [12,15]], 6] - Vectorising product您可以假设列表不包含空列表。
这是密码-高尔夫,最短的胜利!
[[1, 2], [3, [4, 5]], 6] => [[2, 4], [6, [12, 15]], 6]
[[3, [2, 4]]] => [[6, [6, 12]]]
[[9, [[39], [4, [59]]]], 20] => [[18, [[156], [16, [295]]]], 20]
[2, [29]] => [2, [58]]
[[[[[[[[9]]]]]]]] => [[[[[[[[72]]]]]]]]发布于 2022-07-24 00:12:51
发布于 2022-07-24 01:28:47
#0/@#-#&@-#& -# negate
#0/@# &@ at each level:
-# subtract original value(s)
(atoms: #0/@#-# = #-# = 0)https://codegolf.stackexchange.com/questions/250242
复制相似问题