Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算具有后继元素数的最佳方法_Python_Arrays_List - Fatal编程技术网

Python 计算具有后继元素数的最佳方法

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)):

给定一个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)):
    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)