300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python列表查找整数 在数组/整数列表中查找重复项

python列表查找整数 在数组/整数列表中查找重复项

时间:2021-10-29 20:40:32

相关推荐

python列表查找整数 在数组/整数列表中查找重复项

给定一个array/list的integers,输出重复项。在

另外,我真正想要的是:什么样的解决方案具有最佳的时间性能?最佳空间性能?有可能同时拥有最佳的时间和空间性能吗?只是好奇而已。谢谢您!在

例如:给定列表[4,1,7,9,4,5,2,7,6,5,3,6,7],答案是[4,7,6,5](输出的顺序无关紧要)。在

我在python上写下了我的解决方案。在

这里有一个我用哈希和二进制搜索编写的解决方案。在def binarySearch(array, number):

start = 0

end = len(array)

mid = (end + start) // 2

while (end > start):

mid = start + (end - start) // 2

if array[mid] == number:

return (mid, True)

elif number > array[mid]:

if start == mid:

return (mid + 1, False)

start = mid

else:

end = mid

return (mid, False)

def findDuplicatesWithHash(array):

duplicatesHash = {}

duplicates = []

for number in array:

try:

index,found = binarySearch(duplicates, number)

if duplicatesHash[number] == 0 and not found:

duplicates.insert(index, number)

except KeyError as error:

duplicatesHash[number] = 0

duplicatesSorted = sorted(duplicates, key=lambda tup: tup)

return duplicatesSorted

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。