2016-01-27 31 views
0

我在访问中被问到问题,当你不知道数组的大小时,写一个算法来查找数组的中间元素。如何获得数组的中间元素如果我们不知道数组的大小

+1

运行2个指针,1个移动1个步骤,另一个移动2个步骤。当第二个到达结尾时,你的第一个指针指向中间元素 –

+2

这是完整的问题吗?你能选择一种特定的语言吗? – Paulo

+1

你的意思是指数或价值中的中间元素? –

回答

1

自己计算元素是否在作弊?

的Java:

Object [] mysteriousArray = getMysteriousArray(); 
int count = 0; 
for (Object value: mysteriousArray) { 
    count++; 
} 
Object middle = mysteriousArray[count/2]; 
+0

@Brain我认为这将是未知长度的数组最简单的方法,这是唯一的选择。 –

+0

@DivyKumar如果你喜欢它,接受它如何:-) –

0

对于Java:

int[] array = new int[/*mystery value*/]; 

声明array[(int)((array.length-1)/2)]将返回中间值,舍去。

相关问题