Skip to content

Commit 7d35ff7

Browse files
committed
Optimize find_common_items function using set
1 parent 83c689d commit 7d35ff7

1 file changed

Lines changed: 3 additions & 13 deletions

File tree

Sprint-1/Python/find_common_items/find_common_items.py

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,10 @@ def find_common_items(
1010
Find common items between two arrays.
1111
1212
Areas of inefficiency in original version:
13-
- Nested loops compare every element in first_sequence to every element
14-
in second_sequence (O(n * m)).
13+
- Nested loops -> O(n * m)
1514
1615
Time Complexity: O(n + m) avrage
17-
Space Complexity: O(m + k)
16+
Space Complexity: O(n + m)
1817
Optimal time complexity: O(n + m)
1918
"""
20-
second_set = set(second_sequence)
21-
common_items: List[ItemType] = []
22-
seen = set()
23-
24-
for item in first_sequence:
25-
if item in second_set and item not in seen:
26-
seen.add(item)
27-
common_items.append(item)
28-
29-
return common_items
19+
return list(set(first_sequence) & set(second_sequence))

0 commit comments

Comments
 (0)