I remember there is an swap using XOR that uses no extra space. It's
also O(1).
assume we have a O(1) function: swap(a, b)
a[m], b[n], all sorted separately.

for (i = 0; i < m; i++){
    if (a[i] > b[0]){
        swap(a[i], b[0]);
        if (b[0] > b[1]){
            swap(b[1], b[0]);
        }
    }
}

for(i = 0; i < n; i++){
    if(b[i] > b[i+1]){
        swap(b[i], b[i+1]);
    }
}

This is O(m+n). But I could be wrong.

On Jul 7, 2:54 pm, radha krishnan <radhakrishnance...@gmail.com>
wrote:
> :Given two sorted arrays a[]={1,3,77,78,90} and b[]={2,5,79,81}. Merge
> these two arrays, no extra spaces are allowed. Output has to be
> a[]={1,2,3,5,77} and b[]={78,79,81,90}.

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to