所以我需要找到一种有效的方法来迭代 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 ×1