#
# @lc app=leetcode id=349 lang=python3
#
# [349] Intersection of Two Arrays
#
# https://leetcode.com/problems/intersection-of-two-arrays/description/
#
# algorithms
# Easy (70.98%)
# Likes: 5261
# Dislikes: 2189
# Total Accepted: 923.3K
# Total Submissions: 1.3M
# Testcase Example: '[1,2,2,1]\n[2,2]'
#
# Given two integer arrays nums1 and nums2, return an array of their
# intersection. Each element in the result must be unique and you may return
# the result in any order.
#
#
# Example 1:
#
#
# Input: nums1 = [1,2,2,1], nums2 = [2,2]
# Output: [2]
#
#
# Example 2:
#
#
# Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
# Output: [9,4]
# Explanation: [4,9] is also accepted.
#
#
#
# Constraints:
#
#
# 1 <= nums1.length, nums2.length <= 1000
# 0 <= nums1[i], nums2[i] <= 1000
#
#
#
# @lc code=start
from typing import List
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
# # Set solution:
# s1 = set(nums1)
# s2 = set(nums2)
# return list(s1 & s2)
# Array solution:
size = 1001
a1 = [0] * size
a2 = [0] * size
for i in nums1:
a1[i] = 1
for i in nums2:
a2[i] = 1
res = []
for i in range(size):
if a1[i]*a2[i] > 0:
res.append(i)
return res
# @lc code=end