C++ Program to Count the Dupicate Elements in an Array
Last Updated :
04 Mar, 2024
In C++, an array is a data structure that is used to store multiple values of similar data types in a contiguous memory location. In this article, we will learn how to count the duplicate elements in an array in C++.
Examples:
Input:
myArray = {1, 2, 2, 3, 3, 3};
Output:
Number of Duplicates: 3
Find the Number of Duplicate Elements in an Array in C++
To count the duplicate elements in an array in C++, we can use a std::set container which only stores the unique elements. We can store the array elements in the set while traversing the array and if the element is already present, then it means that the current element is duplicate.
Approach
Inside the function, initialize a set to store the unique elements from the array, and an integer to keep track of the count of duplicate elements.
- Traverse the array using a loop. For each element in the array, do the following:
- Use the std::set::find() function of the set to check if the current element is already in the set.
- If the element is in the set, it means it’s a duplicate. So, increment the count of duplicate elements.
- If the element is not in the set, it means it’s the first time we’re seeing this element. So, insert it into the set.
- After the loop, return the count of duplicate elements.
C++ Program to Count the Duplicate Elements in an Array
C++
#include <iostream>
#include <set>
#include <vector>
using namespace std;
int countDuplicates( int * arr, int n)
{
set< int > uniqueSet;
int duplicateCount = 0;
for ( int i = 0; i < n; i++) {
if (uniqueSet.find(arr[i]) != uniqueSet.end()) {
duplicateCount++;
}
else {
uniqueSet.insert(arr[i]);
}
}
return duplicateCount;
}
int main()
{
int arr[] = { 12, 11, 40, 12, 5, 6, 5, 12, 11 };
int n = sizeof (arr) / sizeof (arr[0]);
int duplicates = countDuplicates(arr, n);
cout << "Number of Duplicate elements are "
<< duplicates;
return 0;
}
|
Output
Number of Duplicate elements are 4
Time Complexity: O(N log N), where N is the size of the array.
Auxiliary Space: O(N)
Share your thoughts in the comments
Please Login to comment...