米哈游校招二面的原创算法题

一道计算视图数量的题,非leetcode且不是常见手撕。

移动端的视图层级结构是树状的,每个节点都是一个视图。
每个视图都有一个isVisible 属性,表示该视图是否可见;视图间有父子关系,当父视图不可见时,其所有子视图也不可见。
现给定以下结构体,请实现一个函数,计算叶子视图中可见视图的数量与不可见视图的数量:
struct View {
      bool isVisible;
      View subviews[];
}

难度mid水平,但考虑到非hot100以及面试状态下当场思考和编码且要求15分钟内完成,可以算是hard了。

思路是多叉树的深度优先遍历,注意父子节点的影响以及叶子节点和可见数量的统计就行。感觉是劝退题,但最终耗时10分钟写出来了,还是给我过了

#牛客AI配图神器#
#秋招#
#米哈游#
#算法#
全部评论

相关推荐

不愿透露姓名的神秘牛友
12-12 19:18
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务