37 lines
962 B
Java
37 lines
962 B
Java
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class DuplicateNumber
|
|
{
|
|
|
|
public int findDuplicateNumber(List<Integer> numbers)
|
|
{
|
|
int highestNumber = numbers.size() - 1;
|
|
int total = getSum(numbers);
|
|
int duplicate = total - (highestNumber*(highestNumber+1)/2);
|
|
return duplicate;
|
|
}
|
|
|
|
public int getSum(List<Integer> numbers)
|
|
{
|
|
int sum = 0;
|
|
for(int num:numbers)
|
|
{
|
|
sum += num;
|
|
}
|
|
return sum;
|
|
}
|
|
|
|
public static void main(String a[])
|
|
{
|
|
List<Integer> numbers = new ArrayList<Integer>();
|
|
for(int i=1; i<30; i++)
|
|
{
|
|
numbers.add(i);
|
|
}
|
|
//add duplicate number into the list
|
|
numbers.add(22);
|
|
DuplicateNumber dn = new DuplicateNumber();
|
|
System.out.println("Duplicate Number: "+dn.findDuplicateNumber(numbers));
|
|
}
|
|
} |