米哈游校招二面的原创算法题
一道计算视图数量的题,非leetcode且不是常见手撕。
移动端的视图层级结构是树状的,每个节点都是一个视图。
每个视图都有一个isVisible 属性,表示该视图是否可见;视图间有父子关系,当父视图不可见时,其所有子视图也不可见。
现给定以下结构体,请实现一个函数,计算叶子视图中可见视图的数量与不可见视图的数量:
struct View {
bool isVisible;
View subviews[];
}
难度mid水平,但考虑到非hot100以及面试状态下当场思考和编码且要求15分钟内完成,可以算是hard了。
思路是多叉树的深度优先遍历,注意父子节点的影响以及叶子节点和可见数量的统计就行。感觉是劝退题,但最终耗时10分钟写出来了,还是给我过了
#牛客AI配图神器#
#秋招#
#米哈游#
#算法#
移动端的视图层级结构是树状的,每个节点都是一个视图。
每个视图都有一个isVisible 属性,表示该视图是否可见;视图间有父子关系,当父视图不可见时,其所有子视图也不可见。
现给定以下结构体,请实现一个函数,计算叶子视图中可见视图的数量与不可见视图的数量:
struct View {
bool isVisible;
View subviews[];
}
难度mid水平,但考虑到非hot100以及面试状态下当场思考和编码且要求15分钟内完成,可以算是hard了。
思路是多叉树的深度优先遍历,注意父子节点的影响以及叶子节点和可见数量的统计就行。感觉是劝退题,但最终耗时10分钟写出来了,还是给我过了
#牛客AI配图神器#
#秋招#
#米哈游#
#算法#
全部评论
相关推荐
12-16 17:17
门头沟学院 产品经理 点赞 评论 收藏
分享

查看18道真题和解析