Leetcode Note: Go - Intersection of Two Arrays

Intersection of Two Arrays - LeetCode
https://leetcode.com/problems/intersection-of-two-arrays/

  • Go 言語で取り組んだメモ

所感

  • 2つ の配列で重複している要素を返す

回答

Intersection of Two Arrays - LeetCode
https://leetcode.com/problems/intersection-of-two-arrays/solution/

func intersection(nums1 []int, nums2 []int) []int {
	// 出現数値のカウンタ
	var count = map[int]bool{}

	// 最終的に return する配列
	var result = []int{}

	// nums1 をループしてマップでカウント
	for _, num := range nums1 {
		count[num] = true
	}

	// nums2 をループしてマップでカウント
	for _, num := range nums2 {

		// nums1 にも存在していた数値だったら
		if count[num] == true {

			// result に数値を追加
			result = append(result, num)

			// フラグを切り替えておく
			count[num] = false
		}
	}

	return result
}

出現済みかどうかといったチェックには map が大変便利