头条的题 求解答

同学面试遇到的
求树里距离其他节点路径长度之和最小的那个节点
#Java工程师#
全部评论
统计各个节点子树的大小。然后先算根节点的代价,然后其他点的时候根据靠近的点,远离的点的数量,转移一下就可以了。
点赞 回复 分享
发布于 2017-04-26 15:06
设节点数为n,时间复杂度为On空间复杂度为On的解法。先遍历一遍树,用map存储节点对应的树的节点数量。然后从根开始,设left为左子树的节点数量,设right右子树的节点数量。r若left-right的绝对值<=1,那么该结点就是最优节点。否则,若left大往左走,right大往右走。然后更新对应的left值和right 值循环即可。(循环进行时left与right不再表示左子树的节点数量和右子树的节点数量)
点赞 回复 分享
发布于 2017-04-26 16:31
这个要求树的重心吧
点赞 回复 分享
发布于 2017-04-26 16:32

相关推荐

02-15 22:29
门头沟学院 Java
点赞 评论 收藏
分享
bLanK的小号:建议自己写一个比较新颖的项目,比如思维导图,在线文档,仿造postman,仿造一个组件库
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务