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)
複製代碼

二叉樹的還原

二叉樹中的最大路徑和

二叉樹的公共父節點

相關文章
相關標籤/搜索