给定一个有序的数字列表(可能带有前导零),垂直排列数字,然后让所有零完全下降到底部,所有突出部分都下降到最底部的开放插槽。输出结果整数,除去前导零。
工作实例
假设我们得到以下输入:
['0000312941295', '239124000124581598', '32852353800451258', '10235923505185190', '1491359102149']
首先,我们将其垂直排列:
0000312941295
239124000124581598
32852353800451258
10235923505185190
1491359102149
然后,逐列地将零“滴过”其他数字,使它们停留在底部并“推”其他数字。这将导致前几个步骤如下:
2000312941295
339124000124581598
12852353800451258
10235923505185190
0491359102149
^
2300312941295
329124000124581598
14852353800451258
10235923505185190
0091359102149
^
2390312941295
328124000124581598
14252353800451258
10935923505185190
0001359102149
^
...
2391312941295
328524538124581598
14232323525451258
10915991001185190
0000350000049
^
接下来,放下所有悬垂物,就好像重力将它们像沙子一样拉下来。
2391312941295
3285245381245 1598
14232323525458258
10915991001181190
00003500000495
^
2391312941295
3285245381245 598
14232323525458158
10915991001181290
000035000004951
^
...
2391312941295
3285245381245
14232323525458159
10915991001181258
000035000004951908
^
最后,输出这些数字,删除前导零。对于我们的工作示例,输出:
[2391312941295, 3285245381245, 14232323525458159, 10915991001181258, 35000004951908]
再举一个例子,假设输入[1234000,12345678,1234,12340608,12341234]
。
1234000
12345678
1234
12340608
12341234
删除零:
1234
12345678
1234163
12340208
12340004
删除其余的突出数字:
1234
1234567
12341638
12340208
12340004
输出为[1234, 1234567, 12341638, 12340208, 12340004]
。
规则
and all overhangs drop to the bottom-most open slot
是解决我的挑战的好方法:)。
. 1234
截然不同1234
。
14232323525458159
14232323525458160