package main
import (
"fmt"
"sort"
)
func merge(arr1, arr2 []int) []int {
mergedSet := make(map[int]struct{})
for _, v := range arr1 {
mergedSet[v] = struct{}{}
}
for _, v := range arr2 {
mergedSet[v] = struct{}{}
}
mergedArray := make([]int, 0, len(mergedSet))
for k := range mergedSet {
mergedArray = append(mergedArray, k)
}
return mergedArray
}
func main() {
arr1 := []int{1, 2, 2, 3, 7, 7, 7, 8, 9}
arr2 := []int{0, 0, 4, 4, 4, 5, 6, 7, 7, 8}
mergedArray := merge(arr1, arr2)
sort.Ints(mergedArray)
fmt.Println(mergedArray)
}
/*
run:
[0 1 2 3 4 5 6 7 8 9]
*/