演算法訓練 Path Sum II

2021-07-29 05:37:26 字數 897 閱讀 4071

給定乙個二叉樹和乙個總和,找到所有根到葉子的路徑,每條路徑的總和等於給定的和。

例如:給定的二叉樹為[5, 4, 8, 11, null, 13, 4, 7, 2, null, null, 5, 1]

在給定的sum為22時, 返回值為:[[5, 4, 11, 2], [5, 8, 4, 5]]

在做這題之前先做的path sum,該題的要求是問是否存在一條從根到葉子的總和為sum的路徑,若存在,返回1,否則返回0。在該題的基礎上,本題要求返回所有從根到葉子總和為sum的路徑。

採用深度優先搜尋演算法的思想,從根開始遍歷二叉樹,如果遍歷到葉子節點,則判斷此時的路徑總和是否和和給定的值相等,若是,則存放到result陣列中。需要注意的是,每乙個dfs做完後,要將oneposs陣列的最後乙個節點刪除。oneposs陣列存放的是每乙個可能的路徑。

void dfs(treenode *node, int sum, int currentsum, vector& oneposs,vector>& result) 

// else oneposs.pop_back(); return;

}if(node->left!=null)

if(node->right!=null)

}vector> pathsum(treenode* root, int sum)

your input

[5,4,8,12,null,13,10,6,null,null,null,3,1]

your answer

[[5,4,11,6],[5,8,13],[5,8,10,3]]

expected answer

[[5,4,11,6],[5,8,13],[5,8,10,3]]

DL RBM訓練演算法

在學習hinton的stack autoencoder演算法 reducing the dimensionality of data with neural networks 之前需要了解什麼是rbm,現在就我學習的情況,查詢的資料 大部分來自部落格 簡單介紹一下rbm。當然,這裡面還有同組實驗的同...

演算法訓練 C Calculations

問題描述 c 語言和c 語言非常相似,然而c 的程式有時會出現意想不到的結果。比如像這樣的算術表示式 表示式 基本式 表示式 基本式 表示式 基本式 基本式 增量 係數 增量 增量 a a 係數 0 1 2 1000 如 5 a 3 a a 是合法的c 表示式。計算這樣的表示式的值的方法 首先是每個...

演算法訓練 暗戀

演算法訓練 暗戀 時間限制 1.0s 記憶體限制 256.0mb 問題描述 同在乙個高中,他卻不敢去找她,雖然在別人看來,那是再簡單不過的事。暗戀,是他唯一能做的事。他只能在每天課間操的時候,望望她的位置,看看她傾心的動作,就夠了。操場上的彩磚啊,你們的位置,就是他們能夠站立的地方,他倆的關係就像磚...