Golang Leetcode 350. Intersection of Two Arrays II.go

2019-04-12 14:06:06 浏览数 (1)

版权声明:原创勿转 https://cloud.tencent.com/developer/article/1412964

思路

和上一个求交集不同的是,有重复元素,所以在map保存的时候,需要保存一个出现的次数

code

代码语言:javascript复制
func intersect(nums1 []int, nums2 []int) []int {
	m := make(map[int]int)

	for _, v := range nums1 {
		if _, ok := m[v]; ok {
			m[v]  
		} else {
			m[v] = 1
		}
	}

	ret := []int{}

	for _, v := range nums2 {
		if val, ok := m[v]; val > 0 && ok {
			ret = append(ret, v)
			m[v]--
		}
	}
	return ret
}

0 人点赞