8月28日

讯飞二面

2019年8月28日,上午10点 自我介绍(学校,方向,熟悉的内容,实习内容)python

实习主要的内容(语音的边缘计算)算法

比较有成就感的项目,项目介绍(对话系统项目)职业规划

在学校带学弟学妹吗,具体怎么带的(带,会先让他们本身作,不会的地方讨论解决)spa

求职主要看重公司的哪些方面(团队的技术氛围,能提高本身)code

平时在学校,老师管的严吗,有哪些兴趣爱好(还好,有时间会出去玩,平时关注技术前沿)cdn

硕士是几年(两年,但大四就开始在实验室了)blog

将来的职业规划方向(机器阅读理解以及对话系统方向)递归

偏向研究仍是偏向落地(偏向落地,但愿结合公司业务)string

反问:it

1.您所在的团队是作什么的(讯飞NLP的主管,分管NLP方向的十几个团队)

2.我知道讯飞有北京和合肥两地能够选,这两个地点的团队有什么区别吗?(北京主要有哈工大联合实验室,研发团队都在合肥)

二叉树算法题目

二叉树的题目一般用递归来写,重点是分析题目,找到递归的方法

二叉树的最大深度

思考:若是根节点为空,那么最大高度为0。若是根节点不为空,那么最大高度= max(左树的最大高度,右树的最大高度)+ 1

def maxDepth(root):
    if root is None:
        return 0
    l = maxDepth(root.left)
    r = maxDepth(root.right)
    return max(l,r)+1
复制代码

二叉树节点间的最长距离

两种状况:

  1. 穿过根节点,最长距离等于左右树的高度和
  2. 不穿过根节点,等于左右子树的最长距离

def maxDepth(root):
    if not root:
        return 0
    l = maxDepth(root.left)
    r = maxDepth(root.right)

    return max(l,r)+1

def diameterOfBinaryTree(root):
    if not root:
        return 0
    max_dia_left = diameterOfBinaryTree(root.left)
    max_dia_right = diameterOfBinaryTree(root.right)
    max_dia = max(maxDepth(root.left)+maxDepth(root.right), max_dia_right, max_dia_left)

    return max_dia
复制代码

二叉树的序列化和反序列化

class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None

def Serialize(root):
    if not root:
        return 'nuLL'
    return str(root.val) +',' + Serialize(root.left) +','+ Serialize(root.right)


def Deserialize(s):
    list = s.split(',')
    return deserializeTree(list)

def deserializeTree(list):
    if len(list) == 0:
        return None
    val = list.pop(0)
    root = None
    if val!='nuLL':
        root = TreeNode(int(val))
        root.left = deserializeTree(list)
        root.right = deserializeTree(list)
    return root


root = TreeNode(0)
left = TreeNode(1)
right = TreeNode(2)
root.left = left
root.right = right

print(Serialize(root))
s = Serialize(root)
root = Deserialize(s)
print(root.val, root.left.val, root.right.val)
复制代码

二叉树的还原

二叉树中的最大路径和

二叉树的公共父节点

相关文章
相关标签/搜索