[英]Find Max Product of All Possible Paths in A Binary Tree
可以是任何路徑的事實,以及存在負數的事實,使這些事情復雜化了。 否則它將是一個簡單的遞歸。
但是這里仍然有遞歸。
給定只是一個級別的子樹,如下所示:
A
B C
然后,您有A * B * C或A * B或A * C或A或B或C的6種可能性。
給定一個更大的樹,像這樣:
A
X Y
其中X和Y本身就是樹,那么請考慮您具有類似的6種可能的組合:
一種
A *(X的任何潛在乘積,包括X的根節點)*(Y的任何潛在乘積,包括Y的根節點)
*(X的任何潛在產品,包括X的根節點)
*(Y的任何潛在乘積,包括Y的根節點)
X的任何潛在產品
Y的任何潛在產品
這些產品中的任何一個最終都可能是最大的。
因此,現在您可以編寫包含這6種可能性的遞歸函數,並從根節點開始調用該函數。 在函數中,您將計算所有這6個乘積(遞歸調用函數),並且如果其中任何一個大於全局最大值,則您將擁有一個新的全局最大值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.