我有這個練習,目標是用小于 O(n^2) 的復雜度來解決它。
您有一個長度為 N 的陣列,其中填充了事件概率。創建另一個陣列,其中我為每個元素計算所有事件在位置 i 之前發生的概率。
我已經撰寫了這個 O(n^2) 解決方案。任何想法如何改進它?
probabilityTable = [0.1, 0.54, 0.34, 0.11, 0.55, 0.75, 0.01, 0.06, 0.96]
finalTable = list()
for i in range(len(probabilityTable)):
finalTable.append(1)
for j in range(i):
finalTable[i] *= probabilityTable[j]
for item in finalTable:
print(item)
uj5u.com熱心網友回復:
probabilityTable = [0.1, 0.54, 0.34, 0.11, 0.55, 0.75, 0.01, 0.06, 0.96]
finalTable = probabilityTable.copy()
for i in range(1, len(probabilityTable)):
finalTable[i] = finalTable[i] * finalTable[i - 1]
for item in finalTable:
print(item)
uj5u.com熱心網友回復:
new_probs = [probabilityTable[0]]
for prob in probabilityTable[1:]:
new_probs.append(new_probs[-1] prob)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/520445.html
