首页 > 猿辅导校招算法面试题
头像
红孩儿
编辑于 2020-05-28 14:22
+ 关注

猿辅导校招算法面试题

猿辅导2020校招面试题

——深度学习算法工程师

——2019813日星期二

一面(两道编程题)

1、列表加和

给定一个int类型的列表(如[1, 9, 8, 8])和一个加和元素(如34,计算列表元素所组成的数字(1988)与加和元素相加后的结果(1988+34=2022,此处仅作为讲解示例,实际操作中不允许这样执行),并以列表的形式输出([2, 0, 2, 2])。

要求:

必须是在列表状态下进行操作,不能将列表中的元素重组为一个整数(如1988)与加和元素进行计算。

解题思路:

将加和元素拆分成列表,然后从后往前,按照加法计算公式,与列表中的元素对应相加,若大于等于10则进1,并将大于10的部分存储在结果列表中。

这样,将结果列表逆序输出即可。

2、求树的直径

给定一棵二叉树,请找出其最长路径,并输出路径上的边的数量。如下所示,第一棵树的最长路径为4-2-1-3,长度为3。第二棵树的最长路径为8-6-4-2-5-7-9,长度为6

解题思路:

遍历所有父节点,统计其左右孩子的数量,并相加,即为该父节点对应的路径长度。依次递归调用即可。

其中需要注意的是,每一次遍历子节点,返回数值给父节点的时候,需要加1(对于父节点而言,自己本身也是其子节点的一个);并且,因为是统计路径,所以对于同时含有左右子节点的节点,要返回左右子节点中的最长路径,而不是该节点所包含的路径。


参考链接:

1猿辅导面试-算法类

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐