我正在尝试将两个字符串数组合并为一个。结果数组应删除所有重复元素。
func MergeArrays(str1, str2 []string) []string {
c := make([]string, len(str1)+len(str2), cap(str1)+cap(str2))
k := make(map[string]bool)
for i, s := range str1 {
if _, ok := k[s]; !ok {
c[i] = s
k[s] = true
}
}
for j, s := range str2 {
if _, ok := k[s]; !ok {
c[j+len(str1)] = s
k[s] = true
}
}
return c
}
测试数据
str1 := []string{"a", "b"}
str2 := []string{"c", "d", "a"}
输出: "a", "b", "c", "d" length of the array "5"
我得到了我想要的输出,但数组的长度应该是4而不是5。我可以理解为什么它会打印5,但我想要长度为的输出数组4。还有其他方法可以合并两个数组。
炎炎设计
幕布斯6054654
相关分类