【剑指offer】数组中重复的数字
数组中重复的数字
http://www.nowcoder.com/questionTerminal/623a5ac0ea5b4e5f95552655361ae0a8
最多遍历一次数组的做法:
新建一个长度为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;
}
查看9道真题和解析