350. Intersection of Two Arrays II
# Easy
Time complexity = if if x in nums2 only consume ; space complexity =
class Solution:
def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
if len(nums1) < len(nums2):
return self.helper(nums1, nums2)
else:
return self.helper(nums2, nums1)
def helper(self, nums1, nums2):
result = []
while len(nums1) != 0:
x = nums1.pop()
if x in nums2:
result.append(x)
nums2.remove(x)
return resultTime complexity = , if if x in dic only consume ; space complexity =
class Solution:
def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
if len(nums1) < len(nums2):
return self.helper(nums1, nums2)
else:
return self.helper(nums2, nums1)
def helper(self, nums1, nums2):
dic = {}
result = []
for x in nums1:
if x in dic:
dic[x] = dic[x] + 1
else:
dic[x] = 1
for x in nums2:
print(x)
if x in dic and dic[x] > 0:
dic[x] = dic[x] - 1
result.append(x)
return resultLast updated
Was this helpful?