给定一个正整数,我们可以形成一个新的数字,该数字由成对的数字描述(对于带有奇数数字的数字,添加前导0)。
例如:
1234可以读为1 2、3 4s-因此,1234的输出为2444。
643的位数为奇数,因此添加前导零使其成为偶数。然后,将0643读取为:零6s,四个3s,因此输出为3333。
(这是OEIS A056967)。
任务:给定一个正整数数组,按升序对它们按数字对描述的值排序。导致相同值的输入数字之间的顺序无关紧要。
输入:正整数的数组/列表/集合。在输入前导零不会允许的,并输入作为数字/字符串/列表等。不允许-输入的语言应尽可能接近整数/数字类型。
输出:以上述方式排序的数组,以任何常用方式返回(函数返回值/ STDOUT /呼入void /等)。您可以单独打印它们,将它们以数字,字符串或列表形式返回数字。
测试用例
Input
Output
[19, 91, 2345, 2023]
[19, 2023, 2345, 91]
[25257, 725, 91, 5219, 146125, 14620512]
[725, 5219, 14620512, 91, 146125, 25257]
[123130415 3335 91 111111111 528 88]
[528, 111111111, 123130415, 3335, 88, 91]
[1 21 33 4 5]
[1 4 5 21 33]
[3725, 10, 2537, 1, 1225, 2512]
[10, 1, 1225, 2512, 2537, 3725]
[125, 26, 1115, 1024]
[1115, 1024, 125, 26]
(在第4个测试用例中,1、4和5的所有值都为0,因此可以在它们之间以任何顺序进行排序。类似地,在第5个测试用例中,10和1的值都为0,因此可以对它们进行排序。任意顺序。)
(相关:说出您所看到的,一1,二1,一2一1
感谢Kevin Cruijssen在沙盒中阐明问题的帮助。
strtoi
返回了整数-正确吗?如果是这样,那很好,它是合法的。