如何优化重复项的查找?

问题描述 投票:0回答:1

代码在下面。它在生成的数组中查找重复项。如何对其进行优化,以更快地处理大量数据?

有一些输入和输出数据的示例来想象它必须如何工作:

输入:nums = [1,2,3,1]

输出:真

输入:nums = [1,2,3,4]

输出:假

输入:nums = [1,1,1,3,3,4,3,2,4,2]

输出:真

import random

nums = list((random.randint(-100, 100) for i in range(10)))
b = False

print(nums)

for i in range(len(nums)):
    for j in range(i+1, len(nums)):
        if nums[i] == nums[j]:
            b = True
            break

print(b)

我什至想不出如何优化。

python algorithm optimization
1个回答
-1
投票

如果列表的长度不等于从该列表构造的集合的长度,则它必须包含重复项。

例如:

import random

nums = [random.randint(1, 20) for _ in range(10)]

print(nums)

print("Has duplicates" if len(set(nums)) != len(nums) else "No duplicates found")
© www.soinside.com 2019 - 2024. All rights reserved.