【发布时间】:2014-05-31 12:37:21
【问题描述】:
这是我在数组中查找单个副本的方法。当数组没有重复时我应该返回什么?
public int findDuplicate(int[] array) {
Arrays.sort(array);
int duplicate = 0;
for(int i = 0; i < array.length; i++)
{
if(array[i] == duplicate)
{
return duplicate;
}
duplicate = array[i];
}
return ???;
}
【问题讨论】:
-
你可以让它返回一个
Integer(因此返回NULL)而不是一个原始类型。或者让它抛出一个异常。 -
你应该把它分成两种方法——重复和查找重复。还要记住,这会将原始数组排序为通过引用传递的数组。
-
通常
-1是一个不错的选择 -
-1 是我通常会选择的。特别是因为我正在处理的数组中只有正数,但是如果需要,如果有一个无法处理负数的方法,感觉很草率。
-
返回索引,而不是值