-1

私の質問がこの 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 
4

1 に答える 1

2

「aset」セットを構築するには、「alist」の各要素を 1 回だけ (通常の反復可能であると仮定して) 反復処理する必要があります。

于 2015-03-20T03:36:10.173 に答える