运行代码时出现“内存错误” [Python]-时间复杂度

时间:2019-03-19 08:17:15

标签: python python-3.x algorithm sorting time-complexity

我正在尝试编写一个脚本,该脚本计算我的数组中“差异”(或唯一)对的数量,其差值等于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)

0 个答案:

没有答案