Golang求兩個數組的交集


 

 

 

package main

import "fmt"

func intersection(s1, s2 []int) []int{
    m := make(map[int]int)
    for k := range s1{
        m[s1[k]] += 1
    }
    var a []int
    for k := range s2 {
        for key,value := range m {
            if key == s2[k] && value > 0 {
                m[k] -= 1
                a = append(a, key)
            }
        }
    }
    return a
}

func main(){
    a := []int{1,2,2,3,3,4,5, 6, 7, 8}
    b := []int{1,2,2,3,3,4,5}
    fmt.Println(intersection(a, b))
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM