Question:
Delete Duplicate DXC Automata Fix Questions AMCAT
int* deleteDuplicate (int *arr, int len)
{
int i,j,k=0;
for(i=0;i<len;i++)
{
for(j=i+1;j<len;j++)
{
if(arr[j]==arr[i])
{
arr[k]=arr[k+1];
}
len=len-1;
count=count+1;
j=i;
}
}
return arr;
}
Solution:
#include <stdio.h>
int count=0;
int* deleteDuplicate (int *arr, int len)
{
int i,j,k=0;
for(i=0;i<len;i++)
{
for(j=i+1;j<len;j++)
{
if(arr[j]==arr[i])
{
for(k=j;k<len;k++)
arr[k]=arr[k+1];
len=len-1;
count=count+1;
j--;
}
}
}
return arr;
}
int main(void)
{
int a[]={2,3,2,2,2,6,6,7},i,*b;
b=deleteDuplicate(a,8);
for(i=0;i<8-count;i++)
printf("%d ",b[i]);
return 0;
}