object MergeArrays {
def mergeArrays(arr1: Seq[Int], arr2: Seq[Int]): Seq[Int] = {
val merged = scala.collection.mutable.ListBuffer[Int]()
var i = 0
var j = 0
// Merge while both sequences have elements
while (i < arr1.length && j < arr2.length) {
if (arr1(i) < arr2(j)) {
merged += arr1(i)
i += 1
} else {
merged += arr2(j)
j += 1
}
}
// Append remaining elements
merged ++= arr1.drop(i)
merged ++= arr2.drop(j)
merged.toList
}
def main(args: Array[String]): Unit = {
val arr1 = Seq(1, 3, 5, 7, 8, 9, 9)
val arr2 = Seq(2, 3, 4, 5, 6, 9)
val result = mergeArrays(arr1, arr2)
println(result)
}
}
/*
run:
List(1, 2, 3, 3, 4, 5, 5, 6, 7, 8, 9, 9, 9)
*/