方法一、通过map键的唯一性去重(推荐)
//通过map键的唯一性去重
func RemoveRepeatedElement(s []int) []int {
result := make([]int, 0)
m := make(map[int]bool) //map的值不重要
for _, v := range s {
if _, ok := m[v]; !ok {
result = append(result, v)
m[v] = true
}
}
return result
}
方法一、通过map键的唯一性去重
定义一个新切片(数组),存放原数组的第一个元素,然后将新切片(数组)与原切片
(数组)的元素一一对比,如果不同则存放在新切片(数组)中。
func RemoveRepeatedElement(arr []int) (newArr []int) {
newArr = make([]int, 0)
for i := 0; i < len(arr); i++ {
repeat := false
for j := i + 1; j < len(arr); j++ {
if arr[i] == arr[j] {
repeat = true
break
}
}
if !repeat {
newArr = append(newArr, arr[i])
}
}
return
}
总结说明
经过测试比较大的数组,第一种通过map键的唯一性去重的效率要高于第二种的。