Es scheint, dass Codierungstests in Ingenieurinterviews im Ausland durchgeführt werden, und in vielen Fällen besteht die Hauptsache darin, bestimmte Funktionen und Klassen entsprechend dem Thema zu implementieren.
Als Gegenmaßnahme scheint eine Website namens Let Code Maßnahmen zu ergreifen.
Eine Site, die algorithmische Leistung trainiert, die Codierungstests standhält, über die früh gesprochen wird.
Ich denke, es ist besser, die Algorithmuskraft eines Menschen zu haben, also werde ich das Problem unregelmäßig lösen und die Methode, die ich damals dachte, als Memo aufschreiben.
Letztes Mal Leet Code Day 43 "5. Längster palindromischer Teilstring" ab Null
Im Moment löse ich das Medium mit den 100 beliebtesten Fragen. Easy wurde gelöst. Wenn Sie interessiert sind, gehen Sie bitte zum Tisch.
Twitter Ich mache es.
Der Schwierigkeitsgrad ist einfach. Auszug aus den 100 beliebtesten Fragen.
Ich stellte fest, dass ich es gelöst hatte, vergaß aber, einen Artikel zu schreiben, also werde ich ihn schreiben!
Das Problem wird dichotomie gegeben. Es untersucht den Durchmesser des Baums und entwirft einen Algorithmus, der die Länge des längsten Pfades des Knotens zwischen den beiden Punkten zurückgibt.
1
/ \
2 3
/ \
4 5
Return 3, which is the length of the path [4,2,1,3] or [5,2,1,3].
In diesem Fall wird 3 zurückgegeben.
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def diameterOfBinaryTree(self, root: TreeNode) -> int:
self.ans = 0
def dfs(node):
if not node:
return 0
right = dfs(node.right)
left = dfs(node.left)
self.ans = max(self.ans,left+right)
return max(left,right) + 1
dfs(root)
return self.ans
# Runtime: 40 ms, faster than 89.86% of Python3 online submissions for Diameter of Binary Tree.
# Memory Usage: 16 MB, less than 34.48% of Python3 online submissions for Diameter of Binary Tree.
Die Tiefe wird durch die Suche nach der Tiefenpriorität gemessen. Da es sich um den Durchmesser handelt, wird sie schließlich durch das übergeordnete Element geleitet, sodass sie durch Hinzufügen von +1 gelöst werden kann.
Wenn Sie die Struktur des Baums verstehen, können Sie ihn relativ einfach implementieren.
~~ Es kann nicht gesagt werden, dass es nüchtern war ... ~~
Bis hierher für diese Zeit. Danke für deine harte Arbeit!
Recommended Posts