挑战非常简单:给定一个数字,将其数字拆分为一个较小数字的数组,以使结果数字不变。要注意的是,您必须将其拆分为最大数组长度。
困惑?
- 您可以通过STDIN(或最接近的替代方法),命令行参数或函数参数以任何方便,明确的输入格式为您提供正整数。
- 您必须将数字的十进制数字划分为连续的,不相交的组。
- 这些数字组代表的数字数组应排序(按通常的,不递减的顺序),而无需重新排列组。
- 如果存在多个这样的分区,则必须将输入划分为尽可能多的数字。如果是平局,则返回一个这样的结果。
- 您可以将数组输出到STDOUT(或最接近的替代品)或作为函数返回值。如果是STDOUT(或最接近的替代产品),则应以任何方便,明确的列表格式打印阵列。
- 分割数不应包含前导零。因此,例如
1002003
,不能将其打印为[1, 002, 003]
或[1, 2, 3]
,并且唯一有效的答案是[100, 2003]
。
测试用例:
123456 -> [1, 2, 3, 4, 5, 6]
345823 -> [3, 4, 5, 8, 23]
12345678901234567890 -> [1, 2, 3, 4, 5, 6, 7, 8, 90, 123, 456, 7890]
102 -> [102]
302 -> [302]
324142 -> [3, 24, 142] OR [32, 41, 42]
324142434445 -> [32, 41, 42, 43, 44, 45]
1356531 -> [1, 3, 5, 6, 531]
11121111111 -> [1, 1, 1, 2, 11, 11, 111]
100202003 -> [100, 202003]
计分
这是代码高尔夫球,因此以字节为单位的最短代码获胜。
aY
,而不是~Y]