package main
import (
"fmt"
)
func mergeArrays(arr1, arr2 []int) []int {
merged := make([]int, 0, len(arr1)+len(arr2))
i, j := 0, 0
// Merge while both slices have elements
for i < len(arr1) && j < len(arr2) {
if arr1[i] < arr2[j] {
merged = append(merged, arr1[i])
i++
} else {
merged = append(merged, arr2[j])
j++
}
}
// Append remaining elements
merged = append(merged, arr1[i:]...)
merged = append(merged, arr2[j:]...)
return merged
}
func main() {
arr1 := []int{1, 3, 5, 7, 8, 9, 9}
arr2 := []int{2, 3, 4, 5, 6, 9}
result := mergeArrays(arr1, arr2)
fmt.Println(result)
}
/*
run:
[1 2 3 3 4 5 5 6 7 8 9 9 9]
*/