最多遍历一次数组的做法:
新建一个长度为10的数组,分别存储0-9数字出现的次数,一旦某数字出现两次,赋值并返回true即可!
public boolean duplicate(int numbers[],int length,int [] duplication) {
if ( numbers == null || numbers.length == 0 || length != numbers.length) {
return false;
}
int[] num = new int[10];
for (int i = 0; i < numbers.length; i++) {
num[numbers[i]]++;
if (num[numbers[i]] == 2) {
duplication[0] = numbers[i];
return true;
}
}
return false;
}
京公网安备 11010502036488号