0
def multiplyItself():
 i=[2,3,1,4]
 j=[]
 length=len(i) # 0 1 2 3
 print 'input string',i
 for l in range(length):
  if l==0:
    j.append(mul(i[l+1::]))
  if l>0:
    print i[l+1::]
    print i[0:l]
    j.append(mul(i[l+1::])*mul(i[0:l]))
 print j


def mul(l):
 sum=1
 for i in l:
   sum=sum*i
 return sum

def main():
 print 'test multply'
 multiplyItself()


main()

上記の python コードは機能しますが、プログラムの複雑さはわかりません。誰でも私にもっと洞察を与えることができますか?

実際の質問は以下のとおりです: 入力 [2,3,1,4] 出力 [12,8,24,6]

それ自身の位置を除くすべてのフィールドを乗算します。

制限: 1. 除算を使用しない 2. O(n) の複雑さ

4

1 に答える 1