# Program: Find out duplicate number between 1 to N numbers.

 Description: ```You have got a range of numbers between 1 to N, where one of the number is repeated. You need to write a program to find out the duplicate number.```

 Code: ```package com.java2novice.algos; import java.util.ArrayList; import java.util.List; public class DuplicateNumber { public int findDuplicateNumber(List numbers){ int highestNumber = numbers.size() - 1; int total = getSum(numbers); int duplicate = total - (highestNumber*(highestNumber+1)/2); return duplicate; } public int getSum(List numbers){ int sum = 0; for(int num:numbers){ sum += num; } return sum; } public static void main(String a[]){ List numbers = new ArrayList(); 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)); } }```

 Output: `Duplicate Number: 22`

 YouTube video: Similar logic on identifying missing number between 1 to N numbers.

#### List Of All Interview Programs:

Knowledge Centre
doPost Vs doGet methods
doGet() method is used to get information, while doPost() method is used for posting information. doGet() requests can't send large amount of information and is limited to 240-255 characters. However, doPost()requests passes all of its data, of unlimited length. A doGet() request is appended to the request URL in a query string and this allows the exchange is visible to the client, whereas a doPost() request passes directly over the socket connection as part of its HTTP request body and the exchange are invisible to the client.
Famous Quotations
Education is what remains after one has forgotten what one has learned in school.
-- Albert Einstein