取一个包含负数,正数和零的整数数组。对其进行一次迭代分组并放置在适当的位置,以使所有负数都在前,然后是所有零,然后是所有正数。
例:
Input: 5, 3, 0, -6, 2, 0, 5
Output: -6, 0, 0, 3, 2, 5, 5
请注意,数字不需要完全排序:只需按符号排序即可。
因此,最终数组将如下所示: -, -, ..., -, -, 0, 0, ..., 0, 0, +, +, ..., +, +
规则
- 您只能使用输入数组和恒定数量的附加内存(即,您不能再创建任何数组)
- 您只能使用一个循环,该循环只能执行与数组长度相同的次数。您不得使用隐藏任何循环的内置函数。这包括内置的排序功能。
- 结果应为我描述的格式
获胜者将是提交最短代码(以字节为单位)的代码,该代码会将初始数组更改为正确的格式(如上所述)。
sort(...)
不太好,因为它可能会执行多个迭代。