Skip to content

Commit 9a0cee7

Browse files
authored
Create intersection-of-multiple-arrays.py
1 parent 455ac50 commit 9a0cee7

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Time: O(n * l + r), n = len(nums), l = len(nums[0]), r = max(nums)-min(nums)
2+
# Space: O(l)
3+
4+
# set, counting sort
5+
class Solution(object):
6+
def intersection(self, nums):
7+
"""
8+
:type nums: List[List[int]]
9+
:rtype: List[int]
10+
"""
11+
result = set(nums[0])
12+
for i in xrange(1, len(nums)):
13+
result = set(x for x in nums[i] if x in result)
14+
return [i for i in xrange(min(result), max(result)+1) if i in result] if result else []
15+
16+
17+
# Time: O(n * l + llogl), n = len(nums), l = len(nums[0])
18+
# Space: O(l)
19+
# set, sort
20+
class Solution2(object):
21+
def intersection(self, nums):
22+
"""
23+
:type nums: List[List[int]]
24+
:rtype: List[int]
25+
"""
26+
result = set(nums[0])
27+
for i in xrange(1, len(nums)):
28+
result = set(x for x in nums[i] if x in result)
29+
return sorted(result)

0 commit comments

Comments
 (0)