单行排序偶数和奇数

时间:2013-06-05 12:09:32

标签: java java-ee collections java-ee-5 javacc

这是一个面试问题。

假设你有一个像这样的数组

{54,23,545,65,23,4,1,2,5}

如何对它进行排序并在一行代码中将其分类为偶数或奇数?

答案的复杂性顺序应为O(1),不使用任何for循环。结果应该是:

{2,4,54,1,5,23,23,65,545}

1 个答案:

答案 0 :(得分:6)

如果实例化并使用Comparator的匿名实现可以被视为一行:

Arrays.sort(arr, new Comparator<Integer>(){public int compare(Integer o1, Integer o2) {return o1%2 == o2%2 ? o1.compareTo(o2) : (o1%2 == 0 ? -1 : 1); }});

Ideone demo