golang--数组合并,并找出重复的元素

20190729 · · 982 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

思路:
1、通过append把两数组合并成一个数组

arr = append(arr,arr1...)

2、通过map的特性将数组中重复的元素找出来

sameElem := make(map[int]int) //定义一个空map
_, ok := sameElem[v] //利用ok表达式,往map中插入数组的元素,如果map中已经存在,则ok为true,反之为false

完整代码

package main

import "fmt"

func ArrayIntersection(arr []int, arr1 []int) []int {

    var intersection []int
    arr = append(arr, arr1...)
    sameElem := make(map[int]int)

    for _, v := range arr {
        if _, ok := sameElem[v]; ok {
            intersection = append(intersection, v)
        } else {
            sameElem[v] = 1
        }
    }
    return intersection
}

func main() {

    arr1 := []int{1, 2, 3, 4, 5, 6}
    arr2 := []int{5, 6, 7, 8, 9, 0}

    fmt.Println(ArrayIntersection(arr1, arr2))
}

输出结果:

[5,6]

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:20190729

查看原文:golang--数组合并,并找出重复的元素

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

982 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传