How to find missing number?
Given: two arrays as input, and find a number that is present in first array but is missing in second array.
public class Array2
{
public void missingnos(int a[],int b[])
{
for(int i=0;i<a.length;i++)
{
for(int j=i+1;j<a.length;j++)
{
if(a[i]>a[j])
{
int c=a[i];
a[i]=a[j];
a[j]=c;
}
}
System.out.print(a[i]);
}
for(int i=0;i<b.length;i++)
{
for(int j=i+1;j<b.length;j++)
{
if(b[i]>b[j])
{
int c=b[i];
b[i]=b[j];
b[j]=c;
}
}
System.out.print(b[i]);
}
int d[]=new int[a.length];
d=b;
int missing=0;
for(int i=0;i<b.length;i++)
{
if(a[i]!=d[i])
{
missing=a[i];
break;
}
}
System.out.println();
System.out.print(missing);
}
public static void main(String[] args) {
Array2 a2= new Array2();
int a[]={1,4,3,5,6};
int b[]={4,1,5,3};
a2.missingnos(a,b);
}
}
Test Case: when I remove 6 & 3 from array "a" and "b" respectively I get answer as 3 which is correct, but when i don't remove i get answer as 0.
Why is it so?