这题用到了STL的强大功能,简单图论,但是需要进行hash,我运用的是map来hash。
首先是建图,将父子关系连有向边,从父亲到孩子,这样我们就可以通过DFS一遍找到全部的年龄。注意map的定义。最后用一个rbt来维护最后的解有序,当然,你也可以运用向量vector来维护,总的时间复杂度是O(nlogn)的。
我的代码:
这题用到了STL的强大功能,简单图论,但是需要进行hash,我运用的是map来hash。
首先是建图,将父子关系连有向边,从父亲到孩子,这样我们就可以通过DFS一遍找到全部的年龄。注意map的定义。最后用一个rbt来维护最后的解有序,当然,你也可以运用向量vector来维护,总的时间复杂度是O(nlogn)的。
我的代码: