-1

如果我的问题不适合本网站,我深表歉意,但这是我所知道的唯一可以回答计算机科学问题的地方。

在我的测验中,我们被告知要计算和简化函数的复杂度类。我了解大部分概念和所有内容,但我不明白为什么O(1)line 不正确aset = set(alist)。正确答案应该是O(N),但我不明白为什么会这样。

这是完整的功能:

def sum_to_b(alist,asum):
    aset = set(alist)
    for v in alist:
        if asum-v in aset:
            return (v,asum-v)
    return None 
4

1 回答 1

2

您需要准确地迭代“alist”的每个元素一次(假设它是常规可迭代的)以构建“aset”集。

于 2015-03-20T03:36:10.173 回答