【发布时间】:2013-05-12 22:37:42
【问题描述】:
我编写了一个代码来从排序数组中查找中间元素。这是我的代码的一部分:
Java Code:
int[] a = {1,2,3,4,5};
int x = a.length;
if (x % 2 != 0){
int mid = 0 + x/2;
System.out.println("The Middle Element is : " + a[mid]);
}
我得到了正确的输出,但想知道我应该在上面代码的 else 条件下写什么?换句话说,如果 a.length 是偶数,我应该怎么做才能找到中间元素?这可能吗?
【问题讨论】:
-
我见过人们返回两个或一个中间元素,当长度是偶数时......取决于问题,因为在这种情况下没有特定的中间元素。
-
@Bill 你的意思是说如果我有
int[] a = {1,2,3,4},应该返回2 and 3? -
是的,我见过有人这样做...这取决于您遇到的问题。
-
@AaK,“你应该做什么”取决于你需要什么算法来找到中间元素。如果只是出于个人好奇,任何答案都可以。
-
视情况而定。
middle element在您的域中的定义是什么。一个元素之前和之后具有相同数量的元素?如果是这样,就没有这样的middle element。中间元素是 size/2 中的元素,然后是那里的任何元素。