如果我的问题不适合本网站,我很抱歉,但这是我所知道的唯一可以回答计算机科学问题的地方。
对于我的测验,我们被告知要计算和简化函数的复杂性类。我理解大多数概念和所有内容,但我无法理解为什么O(1)
对于行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
答案 0 :(得分:2)
你需要遍历' alist'的每个元素。恰好一次(假设它是常规可迭代的)来构建' aset'集。