This commit is contained in:
Mia von Steinkirch 2019-05-13 15:22:37 -07:00
parent 1b336bf09a
commit a5b67b61c0

View File

@ -0,0 +1,38 @@
#!/bin/python
"""
Find a duplicate
We have a list of integers, where:
The integers are in the range 1..n1..n
The list has a length of n+1n+1
It follows that our list has at least one integer which appears at least twice. But it may have several duplicates, and each duplicate may appear more than twice.
Write a function which finds an integer that appears more than once in our list. (If there are multiple duplicates, you only need to find one of them.)
"""
def find_dups(num_list):
num_dict = {}
for n in num_list:
if n in num_dict.keys():
num_dict[n] += 1
else:
num_dict[n] = 1
for k,v in num_dict.items():
if v > 1:
print "dup is {}".format(k)
def find_dups_set(num_list):
num_set = set()
for n in num_list:
if n in num_set:
print n
else:
num_set.add(n)
num_list = [6,1,3,7,6,4,5,2,8,5,6,6,7]
find_dups(num_list)
find_dups_set(num_list)