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) の複雑さ