使用集合(set)数据类型以及快速排序算法。
示例代码:
def find_recurring(arr):
# 先将数组进行排序
arr.sort()
# 利用集合记录出现过的元素
unique = set()
for i in arr:
if i in unique:
# 如果当前元素已经出现过,说明找到了重复元素
return i
else:
# 否则将该元素加入集合中
unique.add(i)
# 如果数组中没有重复元素,则返回 None
return None
以上代码中,先将数组进行排序,通过遍历数组并使用集合记录出现过的元素,来快速检查当前元素是否已出现过。如果当前元素已经出现过,则说明找到了重复的元素,直接返回即可;如果遍历完整个数组都没有找到重复元素,则返回 None。