傳送門
有一棵二叉樹,樹上每個點標有權值,權值各不相同,請設計乙個演算法算出權值最大的葉節點到權值最小的葉節點的距離。二叉樹每條邊的距離為1,乙個節點經過多少條邊到達另乙個節點為這兩個節點之間的距離。
給定二叉樹的根節點root,請返回所求距離。
題解:給每個節點編號(0 - total),用map記錄每個節點的父節點
找出最大權值葉子節點 和 最小權值 葉子節點的編號
然後就是尋找最近公共祖先了
1/*2struct treenode 9};
*/10
11class
tree
27else
30 ans ++;31}
32return
ans;33}
3435
void dfs(treenode* root,int index,int &total,map &parent,int &ma,int &mi,int &mapos,int &mipos)
39if(root->left == null && root->right ==null)
44if(root->val >ma)
48return;49
}50if(root->left !=null)
55if(root->right !=null) 60}
6162 };
比較重量 網易2016實習研發工程師程式設計題
程式設計題 比較重量 小明陪小紅去看鑽石,他們從一堆鑽石中隨機抽取兩顆並比較她們的重量。這些鑽石的重量各不相同。在他們們比較了一段時間後,它們看中了兩顆鑽石g1和g2。現在請你根據之前比較的資訊判斷這兩顆鑽石的哪顆更重。給定兩顆鑽石的編號g1,g2,編號從1開始,同時給定關係陣列vector,其中元...
網易2016研發工程師程式設計題 掃瞄透鏡
在n m的草地上,提莫種了k個蘑菇,蘑菇 的威力極大,蘭博不想貿然去闖,而且蘑菇是 的.只 有一種叫做掃瞄透鏡的物品可以掃瞄出 的蘑菇,於是他回了一趟戰爭學院,買了2個掃瞄透鏡,乙個 掃瞄透鏡可以掃瞄出 3 3 方格中所有的蘑菇,然後蘭博就可以清理掉一些 的蘑菇.問 蘭博最多可以清理多少個蘑菇?輸入...
二叉樹 網易2016實習研發工程師程式設計題
題目 有一棵二叉樹,樹上每個點標有權值,權值各不相同,請設計乙個演算法算出權值最大的葉節點到權值最小的葉節點的距離。二叉樹每條邊的距離為1,乙個節點經過多少條邊到達另乙個節點為這兩個節點之間的距離。給定二叉樹的根節點root,請返回所求距離。這道題注意是最大的葉子節點到最小的葉子節點的距離。葉子節點...