小编gig*_*ig1的帖子

在Python中迭代巨大列表的子列表的有效方法

所以我需要找到一种有效的方法来迭代 python 中的大列表。

给定:整数和数字数组(子列表的长度)

约束:数组最多 100K 个元素,元素在范围 (1,2**31) 内

任务:对于每个子列表,找到最大数和最小数之间的差异。打印出最大的差异。

Ex: [4,6,3,4,8,1,9], number = 3
As far as I understand I have to go through every sublist:

[4,6,3]  max - min = 6 - 3 = 3
[6,3,4]  3
[3,4,8]  5
[4,8,1]  7
[8,1,9]  8

final max = 8
Run Code Online (Sandbox Code Playgroud)

所以我的解决方案是:

import time

def difference(arr, number): 
    maxDiff = 0
    i = 0
    while i+number != len(arr)+1:
        diff = max(arr[i:i+number]) - min(arr[i:i+number])

        if diff > maxDiff:
            maxDiff = diff

        i += 1 …
Run Code Online (Sandbox Code Playgroud)

python-2.7

5
推荐指数
1
解决办法
3650
查看次数

标签 统计

python-2.7 ×1