私の質問がこの Web サイトにふさわしくない場合は申し訳ありませんが、コンピュータ サイエンスの質問に答えられる唯一の場所です。
私のクイズでは、関数の複雑度クラスを計算して単純化するように言われました。ほとんどの概念とすべてを理解していますが、行の がなぜ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