Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
adds optimization down to 2 seconds (from 11 seconds)
  • Loading branch information
mattwright42 committed Mar 1, 2019
commit ae2f480e97d1a322c4db2f280fd030cee985a38b
16 changes: 10 additions & 6 deletions names/names.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,17 @@
names_2 = f.read().split("\n") # List containing 10000 names
f.close()

# This looks like a runtime complexity of O(n ** 2) because of the nested for loop.
duplicates = []
# for name_1 in names_1:
# for name_2 in names_2:
# if name_1 == name_2:
# duplicates.append(name_1)

for name_1 in names_1:
for name_2 in names_2:
if name_1 == name_2:
duplicates.append(name_1)
if name_1 in names_2:
duplicates.append(name_1)

end_time = time.time()
print (f"{len(duplicates)} duplicates:\n\n{', '.join(duplicates)}\n\n")
print (f"runtime: {end_time - start_time} seconds")

print(f"{len(duplicates)} duplicates:\n\n{', '.join(duplicates)}\n\n")
print(f"runtime: {end_time - start_time} seconds")