Find out duplicate number between 1 to n numbers. in java
Answers
Answered by
0
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:?1234567891011121314151617181920212223242526272829303132333435package com.java2novice.algos; 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)); }}
Code:?1234567891011121314151617181920212223242526272829303132333435package com.java2novice.algos; 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)); }}
Similar questions