令是没有特定顺序的正整数列表,并且可以包含重复项。编写程序或函数,输出正整数的列表(排序不重要),这样将和合并为最小的列表,可以将其完全拆分为整数范围相同的整数,其中是最大的元素M L M [ 1 .. i ] i L
例
让L = [5,3,3,2,7]。的最大元素L为7。特定整数出现的次数最多2(3出现2次)。因此,我们需要输出M将允许完成的列表,L以便我们可以构造2从1到的整数范围7。
因此,我们需要输出M = [1,1,2,4,4,5,6,6,7],以便从1to的每个整数7出现2次数。
输入和输出
- 使用与清单类似的任何语言。用于输入和输出的数据结构必须相同。
- 输入列表将仅包含正整数。
- 输入列表不会为空。
- 您不能假定输入列表已排序。
- 输出列表中的顺序并不重要。
测试用例
Input Output
[1] []
[7] [1, 2, 3, 4, 5, 6]
[1, 1, 1] []
[1, 8] [2, 3, 4, 5, 6, 7]
[3, 3, 3, 3] [1, 1, 1, 1, 2, 2, 2, 2]
[5, 2, 4, 5, 2] [1, 1, 3, 3, 4]
[5, 2, 4, 5, 5] [1, 1, 1, 2, 2, 3, 3, 3, 4, 4]
[5, 3, 3, 2, 7] [1, 1, 2, 4, 4, 5, 6, 6, 7]
计分
这是代码高尔夫球,因此最短的答案以字节为单位。
i是的最大元素L,这是规范中的错字。
M=[1,1,2,2,3]的L=[3]同时“即可以完全分割成的整数[1..i]相同的范围列表合并L和M的结果”?
[1,2]。我将对其进行澄清,以便很明显它应该导致最小数量的范围。
i的最大要素是?LM