Mia Steinkirch a8e71c50db reorganize dir
Signed-off-by: Mia Steinkirch <mia.steinkirch@gmail.com>
2019-10-11 04:29:17 -07:00

39 lines
979 B
Python

#!/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)