美文网首页
在数组中出现奇数次的数

在数组中出现奇数次的数

作者: ADADACHAN | 来源:发表于2022-06-09 10:58 被阅读0次

    在数组中出现奇数次的数

    N个数组元素,每个数组元素的出现,如果出现计数为1,如果出现2次,或者以上就显示出来

    例如:给定数组为={3,5,6,6,5,7,2,2,10}

    算法采用hash方法。进行计算,

    首先遍历3 map的元素为<3,1>

    遍历到5,map元素为<3,1><5,1>

    遍历到6,map元素为<3,1><5,1><6,1>

    遍历到第二6的时候,map元素为<3,1><5,1><6,0>

    遍历到第二5的时候,map元素为<3,1><5,0><6,0>

    依次遍历,最后出现的map元素为<3,1><5,0><6,0> <7,1><2,0><10,1>

    输出的结果为:3,7,10

    代码

    package main

    import (

        "fmt"

        . "github.com/isdamir/gotype"

    )

    func getNum(arr []int){

        if arr == nil || len(arr)<1 {

            return

        }

        data:=map[int]int{}

        for _,v:=range arr{

            if vv,ok:=data[v];ok{

                if vv==1{

                    data[v]=0

                }else{

                    data[v]=1

                }

            }else{

                data[v]=1

            }

        }

        for _,v:=range arr{

            if data[v]==1{

                fmt.Println(v)

            }

        }

    }

    func CreateNodeT(node *LNode,start int){

        cur:=node

        for i:=start; i<10; i+=2{

            cur.Next=&LNode{}

            cur.Next.Data=i

            cur=cur.Next

        }

    }

    func main() {

        fmt.Println("Hash Methon")

        arr:=[]int{3,5,6,6,5,7,2,2,10}

        getNum(arr)

    }

    运行也简单

    相关文章

      网友评论

          本文标题:在数组中出现奇数次的数

          本文链接:https://www.haomeiwen.com/subject/fmqmmrtx.html