在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
实际生产中,对不同数组取交集、并集、差集等场景很常用,下面来说下两个数组取差集 直接上代码: //两个集合取并集 package main import "fmt" //思想: //运用map,统计nums1中值出现的次数-map[值]次数 //遍历nums2中的值,查看值是否在map中的出现 func intersect(nums1 []string, nums2 []string) []string { m := make(map[string]int) for _,v := range nums1 { m[v]++ } fmt.Println(m) for _,v := range nums2 { times, _ := m[v] //v是nums2中的值,m[v]是map中的值.m[v]==times fmt.Printf("1................@@@@@@@@@@@@@@..v=%d,times=%d\n",v,times) if times == 0{ nums1 = append(nums1, v) } } return nums1 } func main() { a1 := []string{"3","4","1"} a2 := []string{"2","1","3"} fmt.Println(intersect(a1,a2)) }
即获得到两个slice的并集。
|
请发表评论