在上一篇数据去重文中,介绍了使用hashtable这种数据结构实现对一组数据的去重操作,那么这种方式是否存在优化的空间?先来看一道题,给定一组整数无序数组,获取重复的数据 如:[1,2,3,1] 在数据去重第一篇文章中,使用的hashtable, hashtable这种数据结构内部实现上也借用了数组,那么我们是否可以直接使用数组呢?
代码:
package main
import "fmt"
func main() {
nums := []int{1, 2, 3, 1, 4, 5, 4, 5, 6, 7, 3, 6, 8}
filter := [10]bool{}
res := []int{}
for _, val := range nums {
if !filter[val] {
filter[val] = true
res = append(res, val)
}
}
fmt.Println(res)
}
以上基于数组实现了简单的去重算法,在使用数组去重时,需要注意以下几点:
如果数据量很大的情况下,那么怎么实现去重?基于以上的数组去重算法思想,在下篇文章中,将介绍大数据的去重算法。