Golang程序 寻找一个数组中每个元素的频率

Golang程序 寻找一个数组中每个元素的频率

例子

输入数组 = [1, 3, 4, 3, 2, 3, 4, 0, 2]

元素

1

3

4

2

0

频率

1

3

2

2

1

解决这个问题的方法

  • 第1步: 定义一个方法,接受一个数组。
  • 第2步: 定义一个map,其中key是数组的元素,起始值是0。
  • 第3步: 开始迭代输入数组。如果一个元素存在于map中,那么就增加计数。
  • 第4步: 如果该元素不在地图中,则存储在地图中,并使其值为1。

程序

package main
import (
   "fmt"
)

func findFrequencyOfArray(arr []int){
   frequency := make(map[int]int)
   for _, item := range arr{
      if frequency[item] == 0{
         frequency[item] = 1
      } else {
         frequency[item]++
      }
   }
   for item, count := range frequency{
      fmt.Printf("%d occurring %d times.\n", item, count)
   }
}

func main(){
   findFrequencyOfArray([]int{2, 2, 5, 1, 3, 5, 0})
}

输出

2 occurring 2 times.
5 occurring 2 times.
1 occurring 1 times.
3 occurring 1 times.
0 occurring 1 times.

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程