java find duplicates in array
// Uses a set, which does not allow duplicates
for (String name : names)
{
if (set.add(name) == false)
{
// print name your duplicate element
}
}
java find duplicates in array
// Uses a set, which does not allow duplicates
for (String name : names)
{
if (set.add(name) == false)
{
// print name your duplicate element
}
}
Find the duplicate in an array of N integers.
// 287. Find the Duplicate Number
// Medium
// Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), prove that at least one duplicate number must exist. Assume that there is only one duplicate number, find the duplicate one.
// Example 1:
// Input: [1,3,4,2,2]
// Output: 2
// Example 2:
// Input: [3,1,3,4,2]
// Output: 3
// Note:
// You must not modify the array (assume the array is read only).
// You must use only constant, O(1) extra space.
// Your runtime complexity should be less than O(n2).
// There is only one duplicate number in the array, but it could be repeated more than once.
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;
}
};
find duplicate elements in array in java
/*This method is all in one
*you can find following things:
*finding Duplicate elements in array
*array without duplicate elements
*number of duplicate elements
*numbers of pair of dulicate with repeatation
*/
//let given array = [2,3,2,5,3]
public static void findDuplicateArray(int [] array)
{
int size = array.length;
//creating array to hold count frequency of array elements
int [] countFrequency = new int[size];
// filling countFrequency with -1 value on every index
for(int i = 0; i < size; i++)
{
countFrequency[i] = -1;//[-1,-1,-1,-1,-1...]
}
int count = 1;
for(int i = 0; i < size; i++)
{
//check countFrequency[i] != 0 because 0 means it already counted
if(countFrequency[i] != 0)
{
for(int j = i+1; j < size; j++)
{
//if array[i] == array[j] then increase count value
if(array[i] == array[j])
{
count++;
/*only at first occurence of an element count value
*will be increased else everywhere it will be 0
*/
countFrequency[j]= 0;
}
}
countFrequency[i] = count;
}
count = 1;
}
// array = [2,3,2,5,3]
//countFrequency = [2,2,0,1,0]
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];
}
}
}
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us