Java Program To Find Out Duplicate Number Between 1 to N
Chapter:
Interview Programs
Last Updated:
08-04-2016 18:58:18 UTC
Program:
/* ............... START ............... */
import java.util.ArrayList;
import java.util.List;
public class JavaDuplicateNumber {
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(20);
JavaDuplicateNumber dn = new JavaDuplicateNumber();
System.out.println("Duplicate Number: " + dn.findDuplicateNumber(numbers));
}
}
/* ............... END ............... */
Output
Tags
Duplicate Number, Java