Python 计算具有后继元素数的最佳方法
给定一个n(未排序且可能重复)元素的列表,我想计算元素的数量I,这样它们的后续元素I+1也在列表中 这是一个朋友给我的问题,对于元素值高达100000000的大n(100000),我找不到最佳解决方案。下面是我目前使用的随机生成列表的方法,需要很长时间才能工作Python 计算具有后继元素数的最佳方法,python,arrays,list,Python,Arrays,List,给定一个n(未排序且可能重复)元素的列表,我想计算元素的数量I,这样它们的后续元素I+1也在列表中 这是一个朋友给我的问题,对于元素值高达100000000的大n(100000),我找不到最佳解决方案。下面是我目前使用的随机生成列表的方法,需要很长时间才能工作 import random temp = random.sample(range(1000000000),random.randint(2,100000)) total_sum = 0 for i in range(len(temp)):
import random
temp = random.sample(range(1000000000),random.randint(2,100000))
total_sum = 0
for i in range(len(temp)):
if (temp[i]+1) in temp:
total_sum+=1
print(total_sum)
使用:
输出
7
集合中的查找时间为O(1),而列表中的查找时间为O(n)。使用集合的方法是O(n),您当前的实现是O(n^2)。使用集合:
输出
7
集合中的查找时间为O(1),而列表中的查找时间为O(n)。使用集合的方法是O(n),您当前的实现是O(n^2)