logo
Problems

Merge Two Sorted Arrays

Problem

Merge two given sorted integer array A and B into a new sorted integer array.

Example

A = [1,2,3,4]

B = [2,4,5,6]

return [1,2,2,3,4,4,5,6]

Solution

A very easy problem. A good practice to get familiar with arrays in your chosen language.

First create an array C of the size A.length + B.length.

Since A and B are already sorted, we simply choose the smaller one of the heads of the remaining A or B and add it to C. Make sure you can handle the cases where one array is exhausted, and the rest of the other array should all be added to C.

Language Specific Notes

  • In Go, you cannot create an array with a variable, so make a slice instead. c := make([]int, lenA+lenB)
  • In some languages, array length is a constant, while in others it is a function, which can be costly to calculate if you need it in each iteration.
  • In some languages, i++ is allowed (e.g. Java, C++), so you can read the value and move the index at the same time, like C[k] = B[j++]; in other languages that is not allowed (e.g. Go).

Online Judge