Golang 查找数组中每个元素的频率的程序
在获得一个数组后,我们常常需要对每个元素的频率进行计数。本文将介绍Golang中算法的实现及其使用方法。
算法描述
这个程序的算法是:遍历数组,对于每个元素,将它作为键存入map中并递增值。该算法时间复杂度为O(n)。
代码实现
下面是算法的简单实现:
func freqCount(arr []int) map[int]int {
freq := make(map[int]int)
for _, val := range arr {
freq[val]++
}
return freq
}
该算法以一个整数数组作为输入参数,返回一个由数组中出现的元素作为键,出现次数作为值的map。
示例
arr := []int{1, 2, 3, 4, 5, 6, 6, 6, 7, 1, 1, 2, 3, 2, 3}
fmt.Println(freqCount(arr))
输出结果:
map[1:3 2:3 3:3 4:1 5:1 6:3 7:1]
结论
这个程序提供了一种简单的实现方式来查找任意数据类型的元素出现次数。提供了Golang编写程序的一个实际应用示例。
极客笔记