这是一个面试问题。
假设你有一个像这样的数组
{54,23,545,65,23,4,1,2,5}
如何对它进行排序并在一行代码中将其分类为偶数或奇数?
答案的复杂性顺序应为O(1),不使用任何for
循环。结果应该是:
{2,4,54,1,5,23,23,65,545}
答案 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); }});