題目描述
在一個(gè)長(zhǎng)度為n的數(shù)組里的所有數(shù)字都在0到n-1的范圍內(nèi)慈缔。 數(shù)組中某些數(shù)字是重復(fù)的,但不知道有幾個(gè)數(shù)字是重復(fù)的顾腊。也不知道每個(gè)數(shù)字重復(fù)幾次状勤。請(qǐng)找出數(shù)組中任意一個(gè)重復(fù)的數(shù)字。 例如畏铆,如果輸入長(zhǎng)度為7的數(shù)組{2,3,1,0,2,5,3}雷袋,那么對(duì)應(yīng)的輸出是第一個(gè)重復(fù)的數(shù)字2。
import java.util.HashSet;
import java.util.Set;
public class Solution {
public boolean duplicate(int numbers[], int length, int [] duplication) {
if(numbers == null || numbers.length == 0)
return false;
Set<Integer> set = new HashSet<Integer>();
for(int i = 0; i < numbers.length; i++) {
if(set.contains(numbers[i])){
duplication[0] = numbers[i];
return true;
}else{
set.add(numbers[i]);
}
}
return false;
}
}