二叉樹 套路化解題 3 沒意思先生

2022-08-10 07:33:09 字數 796 閱讀 1846

乙個公司的上下節關係是一棵多叉樹, 這個公司要舉辦晚會, 你作為組織者已經摸清了大家的心理: 乙個員工的直接上級如果到場, 這個員工肯定不會來。 每個員工都有乙個活躍度的值, 決定誰來你會給這個員工發邀請函, 怎麼讓舞會的氣氛最活躍? 返回最大的活躍值。

給定乙個矩陣來表述這種關係

matrix =

這個矩陣的含義是:matrix[0] = , 表示0這個員工的直接上級為1, 0這個員工自己的活躍度為6

matrix[1] = , 表示1這個員工的直接上級為1(他自己是這個公司的最大boss) ,1這個員工自己的活躍度為5

matrix[2] = , 表示2這個員工的直接上級為1,2這個員工自己的活躍度為4

為了讓晚會活躍度最大, 應該讓1不來, 0和2來。 最後返回活躍度為10

設當前結點是x

可能性1:x來,那結果就是x1不來的活躍度 + x2不來的活躍度 + x3不來的活躍度 + x來的活躍度

可能性2:x不來,那結果就是 math.max(x1來的活躍度,x1不來的活躍度) + math.max(x2來的活躍度,x2不來的活躍度) +  math.max(x3來的活躍度,x3不來的活躍度) 

演算法 二叉樹解題

給定乙個二叉樹,從左向右地,自底向上的遍歷每一層的元素。例 給定二叉樹 3 9 20 15 7 返回的結果 15,7 9,20 3 首先,要有乙個概念,無論是樹的題目還是圖的題目,解決的方式一般就是dfs或者是bfs,往裡面套就可以了。題目中提到要自底而上,但是這個其實問題不大,只要將自頂而上的列表...

二叉樹解題思想

引言二叉樹本身就是使用遞迴而生成的,所以在解決相關問題的時候,首先是使用遞迴來做,但是因為演算法的時間和空間的問題,所以盡量將遞迴轉換為迭代來做。遞迴解題思路遞迴,就是在執行的過程中呼叫自己。構成遞迴需具備的條件 1.子問題須與原始問題為同樣的事,且更為簡單 2.不能無限制地呼叫本身,須有個出口,化...

二叉樹3(恢復二叉樹)

給一顆帶權 權值各不相同,都是小於10000的正整數 的二叉樹的中序和後序遍歷序列,找乙個葉子使得它到根的路徑上的權值盡可能小,如果有多解,取葉子權值小的。輸入中第一行為中序遍歷,第二行為後序遍歷。例如輸入 3 2 1 4 5 7 6 3 1 2 5 6 7 4 輸出輸入 7 8 11 3 5 16...