Leetcode刷題筆記4

刷中等題目,主要遇到的問題是對算法的應用不熟悉無法實做。

Unique Paths

給定mn,找出獨一無二的路徑,nm最多為100

解法

排列組合題目,由於計算階乘可能會耗費大量時間,採用巴斯卡定理解決問題, 動態規劃產生巴斯卡三角形,由於只要找出終點,只須用一個維度 用來計算即可。

House Robber III

給定二元樹,小偷必須獲得最大金額,不能連續竊取兩個連接節點。

解法

一開始看起來類似像Min-max heap的概念,但是這樣解得出的結果是錯的。

dfs的規則:

為了避免重複呼叫組合爆炸,因此採用多回傳的方法編寫, 也可以採用哈希表做DP。


LeetCode Dynamic programming Tree Recursion