首页 > 其他分享 >Go--统计数组中重复的元素及重复次数

Go--统计数组中重复的元素及重复次数

时间:2023-07-12 11:47:35浏览次数:42  
标签:map ok 重复 s2 s1 -- 数组 Go fmt

代码:

package main

import (
    "fmt"
)

func main() {
    //创建有重复数值的数组
    a1 := []int{1, 2, 3, 1, 4, 5, 2}
    a2 := []string{"t1", "t2", "t1", "t3", "t5", "t3"}
    //创建map
    s1 := make(map[int]int)
    s2 := make(map[string]int)

    //遍历数组,将数组的元素值与map的键做对比
    for _, v := range a1 {
        //判断键是否存在 value, ok := map[key] ,若存在,计数器+1,若不存在,则插入并将计数器置为1
        if _, ok := s1[v]; ok {
            s1[v]++
        } else {
            s1[v] = 1
        }
    }

    for k, v := range s1 {
        fmt.Printf("%d出现了%d次\n", k, v)
    }
    fmt.Println("s1:", s1)

    fmt.Println()
    //遍历数组,将数组的元素值与map的键做对比
    for _, v := range a2 {
        //判断键是否存在 value, ok := map[key] ;若存在,计数器+1,若不存在,则插入并将计数器置为1
        if _, ok := s2[v]; ok {
            s2[v]++
        } else {
            s2[v] = 1
        }
    }

    for k, v := range s2 {
        fmt.Printf("%s出现了%d次\n", k, v)
    }
    fmt.Println("s2:", s2)
}

输出结果:

1出现了2次
2出现了2次
3出现了1次
4出现了1次
5出现了1次
s1: map[1:2 2:2 3:1 4:1 5:1]

t1出现了2次
t2出现了1次
t3出现了2次
t5出现了1次
s2: map[t1:2 t2:1 t3:2 t5:1]

进程 已完成,退出代码为 0

 

标签:map,ok,重复,s2,s1,--,数组,Go,fmt
From: https://www.cnblogs.com/Xinenhui/p/17547101.html

相关文章

  • SSM - Mybatis - Example - SQL
     Teacher/Student表CREATETABLE`teacher`(`id`INTNOTNULL,`name`VARCHAR(30)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=INNODBDEFAULTCHARSET=UTF8MB4;INSERTINTOteacher(`id`,`name`)VALUES(1,'秦老师');CREATETABLE`student`(......
  • Vue3+.net6.0 五 类和样式绑定
    Vue3关于样式的处理跟Vue2是一样的,常用的有以下几种。1.绑定属性html部分:<div:class="{active:isActive}"></div>js部分:data(){return{isActive:true}}当isActive值为true时,div应用这个active样式,反之亦然。 2.对象方式绑定<div:class="cla......
  • 19:vue3 依赖注入
    1、通过Prop逐级透传问题(传统老的方法只能逐级传递) 传统方式代码如下:App.vue1<template>2<h3>祖宗</h3>3<Parent:msg="msg"></Parent>4</template>56<script>7importParentfrom"./components/Parent.vue"......
  • Json与Java对象互转工具类
    常用的JSON处理库:Jackson:这是最常用的库,它提供了各种特性,如生成/解析JSON的速度快,内存占用小,可扩展性强等。Jackson支持类型安全,还具有复杂数据绑定的能力。Gson:由Google开发,也是一个相当流行的库,使用起来非常简单。Gson可以工作在任何JDK版本上,没有任何额外的依赖项......
  • # 实验七
    实验七题目Poweridea公司从1975年成立一直到1995年的基本情况如下:年份收入(千美元)雇员(人)人均收入(千美元)1975163?1976227?19773829?1978135613?1979239028?1980800038?~~~1995593700017800?下面已经定义好了这些数据:as......
  • 金蝶云苍穹技术开放日第七期:开发者工具赋能,打造开发新模式
    金蝶云·苍穹技术开放日」系列活动由金蝶云苍穹平台生态部主办,迄今已成功举办六期,旨在为开发者提供技术分享和行业交流的平台。每一期我们都会聚焦一个技术主题,邀请本领域权威技术专家和外部嘉宾分享技术研究和Madewithkingdee实践案例。金蝶云·苍穹技术开放日第七期以“开发......
  • 一张图告诉你如何提高 API 性能
    API性能是指一个API在执行其功能时的效率和性能表现,通常用于衡量API的响应时间、吞吐量、可伸缩性和稳定性等方面的表现。API性能的指标包括:响应时间:API的响应时间是指从发出请求到接收到响应所需的时间。较低的响应时间通常表示更高的性能。吞吐量:API的吞吐量......
  • 千兆宽带,光猫桥接后速度上不去是怎么回事?
    原文:https://www.luyouwang.net/9375.html刚刚升级的移动千兆宽带,光猫桥接发现速度上不去,网速不达标,只能跑700M左右,而光猫路由模式反而比桥接的速度要快,现在将光猫改为路由模式,路由器改为AP模式后,下行可以达到940Mb。移动光猫这个情况是光猫桥接是假桥接,没有硬件加速,纯粹......
  • C# 选择文件选择设置类型示例
     例子:OpenFileDialogdialog=newOpenFileDialog();dialog.Multiselect=false;//该值确定是否可以选择多个文件dialog.Title="请选择文件";dialog.Filter="图像文件(*.jpg;*.png;*.bmp)|*.jpg;*.png;*.bmp;*.jpg......
  • GPS北斗网络时钟同步器(卫星时钟发生器)插卡式模组设计方案
    GPS北斗网络时钟同步器(卫星时钟发生器)插卡式模组设计方案GPS北斗网络时钟同步器(卫星时钟发生器)插卡式模组设计方案京准电子科技官微——ahjzsz4.1 时间同步系统功能时间同步系统的主要功能就是为变电站用时设备提供全站统一的时间基准。时间同步系统应以天基授时为主,地基授......