349. Intersection of Two Arrays
Leetcode link for this question
Discription:
Given two arrays, write a function to compute their intersection.
Example:
Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].
Note:
- Each element in the result must be unique.
- The result can be in any order.
Analyze:
Code 1:
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
reli=[]
for i in nums1:
if i in nums2:
reli.append(i)
for i in nums2:
if i in nums1:
reli.append(i)
reli=set(reli)
return list(reli)
Submission Result:
Status: Accepted
Runtime: 108 ms
Ranking: beats 7.75%
Code 2:
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
reli=set(nums1) & set(nums2)
print reli
return list(reli)
Submission Result:
Status: Accepted
Runtime: 68 ms
Ranking: beats 38.72%
Code 3:
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
c1=collections.Counter(nums1)
c2=collections.Counter(nums2)
print c1.keys(),c2.keys()
return [i for i in c1.keys() if i in c2.keys()]
Submission Result:
Status: Accepted
Runtime: 152 ms
Ranking: beats 3.11%
Code 4:
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
li = []
for k in nums1:
if k in nums2 and k not in li:
li.append(k)
return li
Submission Result:
Status: Accepted
Runtime: 80 ms
Ranking: beats 21.92%