Related Articles

Related Articles

Find duplicates under given constraints
  • Difficulty Level : Basic
  • Last Updated : 22 May, 2018

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



filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


JAVA

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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.
?>

chevron_right



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 contribute.geeksforgeeks.org or mail your article to contribute@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.




My Personal Notes arrow_drop_up
Recommended Articles
Page :