Quick actions

cmd+k|ctrl+k

Navigation

Languages

Merge sorted arrays

Snippet info

Language

JavaScript

Visibility

public

Author

hamzo864

Created

2023-10-03T20:36:27.74952Z

Updated

2023-10-03T22:06:53.081013Z

// function mergesortedArrays(arr1, arr2){
//     let sortArr = [];
//     let i = 0;
//     let j = 0;
    
//     while( arr1[i] || arr2[j] ){
     
//         if(arr1[i]<=arr2[j] || !arr2[j]){
//             sortArr.push(arr1[i]);
//             i++
//         }else{
//             sortArr.push(arr2[j]);
//             j++
//         }
        
//           console.log(arr1[i], arr2[j])
//     }
    
//     return sortArr
// }

// console.log(mergesortedArrays( [0,3,3], [4,6,30]))


function mergeSortedArrays(array1, array2){
    const mergedArray = [];
    let array1Item = array1[0];
    let array2Item = array2[0];
    let i = 1;
    let j = 1;
    
    //check input
    if(array1.length === 0){
        return array2;
    }
    if(array2.length === 0){
        return array1;
    }
    
    while(array1Item || array2Item){
        console.log("Before : " , array1Item, array2Item)
        console.log(array1Item < array2Item, array2Item === undefined)
        if(array1Item < array2Item || array2Item === undefined){
            mergedArray.push(array1Item)
            array1Item = array1[i]
            i++;
        }else{
            mergedArray.push(array2Item);
            array2Item = array2[j];
            j++
        }
        
        console.log("After : " , array1Item, array2Item)
        console.log("---------------------------------")
    }
    
    
    return mergedArray;
}

console.log(mergeSortedArrays([4,6,30],[0,3,3]))
INFO