Merge two Sorted (non-increasing) Array.[ Microsoft – quikr – LinkedIn – Snapdeal ]

Problem:Merge two Sorted (non-increasing) Array.

Link

#include <stdio.h>
void _sort(int ar[],int len1,int br[],int len2)
{
    int i=1,j=1;
    while(i<=len1 && j<=len2)
    {
        if(ar[i]>br[j])
        {
            printf("%d ",ar[i]);
            i+=1;
        }
        else if(ar[i]<br[j])
        {
            printf("%d ",br[j]);
            j+=1;
        }
        else if(ar[i]==br[j])
        {
            printf("%d %d ",ar[i],br[j]);
            j+=1;
            i+=1;
        }
    }
    while(i<=len1)
        printf("%d ",ar[i++]);
    while(j<=len2)
        printf("%d ",br[j++]);
    printf("\n");
}

int main() {
	//code
	int t,n,X,Y,j,i,len;
	int arr[50005];
    int brr[50005];
	scanf("%d",&t);
	while(t--)
	{
	   scanf("%d%d",&X,&Y);
	   for( i=1;i<=X;i++)
	   {
	       scanf("%d",&arr[i]);
	   }
	   for( i=1;i<=Y;i++)
	   {
	       scanf("%d",&brr[i]);
	   }
	   
	   if(X<Y)
	   {
	       _sort(arr,X,brr,Y);
	   }
	   else
    	    _sort(brr,Y,arr,X);
	}
	return 0;
}

 

 

Comments are closed.