Quick actions

cmd+k|ctrl+k

Navigation

Languages

Merge two sorted arrays in O(n) with extra space

Snippet info

Language

Cpp

Visibility

public

Author

amangoyal1727

Created

2021-05-29T01:38:12.127465Z

Updated

2021-05-29T01:38:12.127465Z

#include <iostream>
using namespace std;

int main() {
    
    int arr1[] = {1, 3, 4, 6};
    int n = sizeof(arr1)/sizeof(arr1[0]);
    int arr2[] = {2, 4, 7, 7};
    int m = sizeof(arr2)/sizeof(arr2[0]);
    
    int arr3[n+m];
    
    int i = 0;
    int j = 0;
    int k = 0;
    
    while(i<n && j<m){
        
        if(arr1[i] < arr2[j]){
            arr3[k] = arr1[i];
            k++;
            i++;
        }else if(arr1[i] > arr2[j]){
            arr3[k] = arr2[j];
            k++;
            j++;
        }else {
            arr3[k] = arr1[i];
            k++;
            i++;
            arr3[k] = arr2[j];
            k++;
            j++;
        }
    }
    
    while(i<n){
        arr3[k] = arr1[i];
        i++;
        k++;
    }
    
    while(j<m){
        arr3[k] = arr2[j];
        k++;
        j++;
    }
    
    
    for(int i=0; i<n+m ; i++){
        cout<<arr3[i]<<" ";
    }
    
    
    
}
INFO