find duplicate elements in an array code example
Example 1: js find duplicates in array
const names = ['Mike', 'Matt', 'Nancy', 'Adam', 'Jenny', 'Nancy', 'Carl']
const count = names =>
names.reduce((a, b) => ({ ...a,
[b]: (a[b] || 0) + 1
}), {})
const duplicates = dict =>
Object.keys(dict).filter((a) => dict[a] > 1)
console.log(count(names))
console.log(duplicates(count(names)))
Example 2: find duplicate values in array javascript
const findDuplicates = (arr) => {
let sorted_arr = arr.slice().sort();
let results = [];
for (let i = 0; i < sorted_arr.length - 1; i++) {
if (sorted_arr[i + 1] == sorted_arr[i]) {
results.push(sorted_arr[i]);
}
}
return results;
}
let duplicatedArray = [9, 4, 111, 2, 3, 9, 4, 5, 7];
console.log(`The duplicates in ${duplicatedArray} are ${findDuplicates(duplicatedArray)}`);
Example 3: Find the duplicate in an array of N integers.
class Solution {
public:
int findDuplicate(vector<int>& nums) {
int n=nums.size();
int s=nums[0];
int f=nums[nums[0]];
while(s!=f) {
s=nums[s];
f=nums[nums[f]];
}
f=0;
while(s!=f) {
s=nums[s];
f=nums[f];
}
return s;
}
};
Example 4: find duplicate elements in array in java
public static void findDuplicateArray(int [] array)
{
int size = array.length;
int [] countFrequency = new int[size];
for(int i = 0; i < size; i++)
{
countFrequency[i] = -1;
}
int count = 1;
for(int i = 0; i < size; i++)
{
if(countFrequency[i] != 0)
{
for(int j = i+1; j < size; j++)
{
if(array[i] == array[j])
{
count++;
countFrequency[j]= 0;
}
}
countFrequency[i] = count;
}
count = 1;
}
System.out.println("array without duplicate elements");
for(int i = 0; i < array.length; i++)
{
if(countFrequency[i] >= 1)
System.out.print(array[i] + " ");
}
System.out.println();
System.out.println("duplicate elements in array");
for(int i = 0; i < array.length; i++)
{
if(countFrequency[i]/2 >= 1)
System.out.print(array[i] + " ");
}
System.out.println();
System.out.println("number of duplicate elements");
count = 0;
for(int i = 0; i < array.length; i++)
{
if(countFrequency[i]/2 >= 1)
count++;
}
System.out.print(count);
System.out.println();
System.out.println("numbers of pair of dulicate with repeatation");
count = 0;
for(int i = 0; i < array.length; i++)
{
if(countFrequency[i] >= 2)
{
int div = countFrequency[i]/2;
count+=div;
}
}
System.out.println(count);
int [] array3 = new int [array.length];
for(int i = 0; i < array.length; i++)
{
for(int j = 0; j < countFrequency[i]; j++)
{
array3[i]= array[i];
}
}
}