1、
classSolution(object):
def intersect(self, nums1,nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
return list((collections.Counter(nums1) & collections.Counter(nums2)).elements())2、
class Solution(object):
def intersect(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
res = []
nums2.sort()
for k in nums1:
flag, j = self.binarySearch(nums2, k)
if flag:
res.append(k)
del nums2[j]
return res
def binarySearch(self, nums, num):
left = 0
right = len(nums) - 1
while left <= right:
mid = (left + right) / 2
if nums[mid] == num:
return True, mid
if nums[mid] < num:
left = mid + 1
else:
right = mid - 1
return False, 0