首页 > 解决方案 > 运行代码 [Python] 时出现“内存错误” - 时间复杂度

问题描述

我正在尝试编写一个脚本来计算我的数组中差异等于值 K 的“不同”(或唯一)对的数量。例如,假设我有一个列表 [a,a,b,c]。然后我的不同对将是: (a,b) 和 (a,c) 和 (b,c) (如果一对中的至少一个元素不在另一对数字中,则不同是正确的。)

对于差异,例如,我的对 (a,b) 仅在 a+K = b 时才有效。

我编写了以下两个代码,但我不确定第一个代码的时间复杂度,而对于第二个代码,我只是想不出更少占用内存的东西。

谢谢!

第一个:

def count(arr, k):
  a = set(arr)
  return sum(x+k in a for x in a)

第二:

def pairs(k, arr):
    setA = set(arr)
    count = 0
    for x in list(setA):
        if (x-k) in setA:
            count = count +1
    return (count)

标签: pythonpython-3.xalgorithmsortingtime-complexity

解决方案


推荐阅读