給定乙個陣列arr, 和乙個整數num, 求在arr中, 累加和等於num的最長子陣列的長度
例子:arr = num = 7其中有很多的子陣列累加和等於7, 但是最長的子陣列是, 所以返回其長度4
乙個陣列中,有奇數有偶數,求奇數和偶數相等的最長子陣列。
套路:
遍歷整個陣列,以當前位置為結尾,可以得到的結果是什麼,以此計算每個位置的結果,最終答案就在其中。
/*** created by skye on 2018/5/4.
* 給定乙個陣列arr, 和乙個整數num, 求在arr中, 累加和等於num的最長子陣列的長度
例子:arr = num = 7其中有很多的子陣列累加和等於7, 但是最長的子陣列是, 所以返回其長度4
對於給定的陣列,都計算以當前位置結尾,
* 可以構成的最長子陣列的大小,遍歷一遍陣列,結果就在其中
* * 準備乙個map用來存放從起始位置到當前位置的累加和
*/public class longestsumsubarraylength
}return res;
}public static void main(string args), 7);
system.out.println(res);
}}
把二叉樹轉換為累加樹
題目鏈結 給出二叉 搜尋 樹的根節點,該樹的節點值各不相同,請你將其轉換為累加樹 greater sum tree 使每個節點 node 的新值等於原樹中大於或等於 node.val 的值之和。節點的左子樹僅包含鍵 小於 節點鍵的節點。節點的右子樹僅包含鍵 大於 節點鍵的節點。左右子樹也必須是二叉搜...
二叉樹最長路徑
先參考最長子序列求解方法,先序遍歷的時候,我們把當前遍歷的分支作為乙個序列,然後利用最長序列的方式求解。遞迴過程中,保留樹的高度,用高度差作為長度。注意遞迴結束時,需要從雜湊表中移除當前節點的值。include include include include const int tag 100 st...
陣列二叉樹
要求 現給一串數字,按照順序從根插入到二叉樹中。但是插入的過程要注意,左子樹的值要小於等於父節點,右子樹的值要大於父節點。例如,序列為1 3 4 2 3 0,插入對應的二叉樹為 1 0 3 2 4 3 建好二叉樹後,從根開始輸出每行數字,每層按照從左到右的順序輸出。輸入 第一行為數字序列長度n 1 ...