Quick actions

cmd+k|ctrl+k

Navigation

Languages

Merge Sorted Arrays

Snippet info

Language

JavaScript

Visibility

public

Author

anikeshdey2020

Created

2022-10-12T07:29:01.070213Z

Updated

2023-02-27T07:52:18.57557Z

//[[0,3,4,31], [4,6,30]]

function mergeSortedArrays1(arr1, arr2){
    return console.log(arr1.concat(arr2).sort((a,b) => a - b));
}

function mergeSortedArrays2(arr1, arr2){
    
    for(var i = 0; i < arr2.length; i++){
        arr1.push(arr2[i]);
    }
    
    return console.log(arr1.sort((a,b) => a - b));
}

function mergeSortedArrays3(arr1, arr2){
    return console.log([...arr1,...arr2].sort((a,b) => a - b));
}

function mergeSortedArrays(array1, array2){
  const mergedArray = [];
  
  //We should actually move these 2 if statements to line 2 so that we do the checks before we do assignments in line 3 and 4!
  if(array1.length === 0) {
    return array2;
  }
  if(array2.length === 0) {
    return array1;
  }
  
  let array1Item = array1[0];
  let array2Item = array2[0];
  
  let i = 1;
  let j = 1;
  
  while(array1Item || array2Item){
      if(!array2Item || array1Item < array2Item){
          mergedArray.push(array1Item);
          array1Item = array1[i];
          i++;
      } else {
          mergedArray.push(array2Item);
          array2Item = array2[j];
          j++;
      }
  }
 
  return console.log(mergedArray);
}

//mergeSortedArrays([0,3,4,31], [0,4,6,30]);

const arr1 = [0, 3, 4, 31];
const arr2 = [0, 4, 6, 30, 33, 40];

const merge = (arr1, arr2) => {
    if(arr1.length < 1){
        return arr2;
    }

    if(arr2.length < 1){
        return arr1;
    }

    const arr = [];

    let i = 0;
    let j = 0;
    
    while(arr1[i] != undefined || arr2[j] != undefined){
        if(arr2[j] == undefined || (arr1[i] != undefined && arr1[i] < arr2[j])){
            arr.push(arr1[i]);
            i++;
        } else {
            arr.push(arr2[j]);
            j++;
        }
    }

    return console.log(arr);
}

merge(arr1, arr2);

//[0,3,4,31], [4, 6, 30]




INFO