Skip to content
Related Articles

Related Articles

Improve Article

Find duplicates under given constraints

  • Difficulty Level : Basic
  • Last Updated : 23 Jun, 2021

A sorted array contains 6 different numbers, only 1 number is repeated five times. So there are total 10 numbers in array. Find the duplicate numbers using two comparisons only. 
Examples : 
 

Input: arr[] = {1, 1, 1, 1, 1, 5, 7, 10, 20, 30}
Output: 1

Input: arr[] = {1, 2, 3, 3, 3, 3, 3, 5, 9, 10}
Output: 3

Asked in Yahoo
 

An important observation is, arr[4] or arr[5] is an occurrence of repeated element for sure. Below is the implementation based on this observation. 
 

CPP




// C++ program to find duplicate element under
// given constraints.
#include<bits/stdc++.h>
using namespace std;
 
// This function assumes array is sorted,  has
// 10 elements,  there are totoal 6 different
// elements and one element repeats 5 times.
int findDuplicate(int a[])
{
    if (a[3] == a[4])
        return a[3];
    else if (a[4] == a[5])
        return a[4];
    else
        return a[5];
}
 
// Driver code
int main()
{
    int a[] = {1, 1, 1, 1, 1, 5, 7, 10, 20, 30};
    cout << findDuplicate(a);
    return 0;
}

JAVA




// Java program to find duplicate element under
// given constraints.
class Num{
 
// This function assumes array is sorted, has
// 10 elements, there are totoal 6 different
// elements and one element repeats 5 times.
static int findDuplicate(int a[])
{
    if (a[3] == a[4])
        return a[3];
    else if (a[4] == a[5])
        return a[4];
    else
        return a[5];
}
 
// Driver code
public static void main(String[] args)
{
    int a[] = {1, 1, 1, 1, 1, 5, 7, 10, 20, 30};
    System.out.println(findDuplicate(a));
}
}
//This code is contributed by
//Smitha Dinesh Semwal

Python3




# Python 3 program to find duplicate
# element under given constraints.
 
# This function assumes array is
# sorted, has 10 elements, there are
# totoal 6 different elements and one
# element repeats 5 times.
def findDuplicate(a):
 
    if (a[3] == a[4]):
        return a[3]
    elif (a[4] == a[5]):
        return a[4]
    else:
        return a[5]
 
# Driver code
a = [1, 1, 1, 1, 1, 5, 7,
              10, 20, 30]
 
print(findDuplicate(a))
 
# This code is contributed by Smitha Dinesh Semwal

C#




// C# program to find duplicate 
// element under given constraints.
using System;
 
class GFG {
 
// This function assumes array is
// sorted, has 10 elements, there
// are totoal 6 different elements
// and one element repeats 5 times.
static int findDuplicate(int []a)
{
    if (a[3] == a[4])
        return a[3];
    else if (a[4] == a[5])
        return a[4];
    else
        return a[5];
}
 
// Driver code
public static void Main()
{
    int []a = {1, 1, 1, 1, 1, 5,
               7, 10, 20, 30};
    Console.Write(findDuplicate(a));
}
}
 
// This code is contributed by nitin mittal

PHP




<?php
// PHP program to find duplicate
// element under given constraints.
 
// This function assumes array is
// sorted, has 10 elements, there
// are totoal 6 different elements
// and one element repeats 5 times.
function findDuplicate($a)
{
    if ($a[3] == $a[4])
        return $a[3];
    else if ($a[4] == $a[5])
        return $a[4];
    else
        return $a[5];
}
 
// Driver code
$a = array(1, 1, 1, 1, 1,
           5, 7, 10, 20, 30);
echo findDuplicate($a);
 
// This code is contributed by nitin mittal.
?>

Javascript




<script>
 
// JavaScript program to find duplicate element under
// given constraints.
 
 
// This function assumes array is sorted, has
// 10 elements, there are totoal 6 different
// elements and one element repeats 5 times.
function findDuplicate(a)
{
    if (a[3] == a[4])
        return a[3];
    else if (a[4] == a[5])
        return a[4];
    else
        return a[5];
}
 
// Driver code
    let a = [1, 1, 1, 1, 1, 5, 7, 10, 20, 30];
    document.write(findDuplicate(a));
     
</script>

Output :  

1

Exercise: Extend the above problem for an array with n different elements, size of array is 2*(n-1) and one element repeats (n-1) times.
This article is contributed by Rakesh Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
 

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.




My Personal Notes arrow_drop_up
Recommended Articles
Page :